Re: What are the 94 printable characters from the 128 characters of ASCII table?
On 20110725_225047, Bob Proulx wrote:
> Paul E Condon wrote:
> > but 2 are non printing: 0x20 and 0x7F
> > I leave the last step as an exercise for the reader. ;-)
>
> I hate to make this thread longer... Sigh.
>
> Whether something is printable or not was easier to see in the old
> days when printers had dot matrix or daisy wheels or selectric balls
> or other such loud and visible print heads. If you emitted a
> printable character the head moved forward. If you emited a
> non-printable character the head did not move forward.
>
> Using that definition space is definitely a printable character since
> it moves the print head forward. We are all agreed that it is
> invisible. But being invisible is not part of the definition of
> whether it is printable or not.
>
> DEL 0x7f is a control character. It is not a printable character.
> And its history is interesting.
>
> You can see this for yourself.
>
> $ printf "a\x20b\n" | od -tx1
> 0000000 61 20 62 0a
>
> $ printf "a\x20b\n"
> a b
>
> Space was printed in the above. Space is a printable, if invisible,
> character.
>
> $ printf "a\x7fb\n" | od -tx1
> 0000000 61 7f 62 0a
>
> $ printf "a\x7fb\n"
> ab
>
> DEL was not printed, did not move the head forward, a was followed
> immediately by b, DEL is not a printable character.
>
> Bob
The original name for DEL was RUBOUT. It was used by telegraphers to
rub out a mistaken punch in a paper tapes that they were preparing off
line, prior to actual transmission. This is a very practical use and
the code with all holes punched was the only one that served this
purpose. Also, RUBOUT produced a nice tear strip across the tape.
On a teletype, every code caused the print mechanism to cycle, so in a
special mechanistic sense, rubout was intended to be "printable."
--
Paul E Condon
pecondon@mesanetworks.net
Reply to: