ascii - report character aliases
[-dxohv] [-t] [ char-alias...]
Called with no options, ascii
behaves like `ascii -h'. Options are as
Script-friendly mode, emits only
ISO/decimal/hex/octal/binary encodings of the character.
Parse multiple characters. Convenient way of
Print in vertical aspect (4 columns by 16
rows) rather than 16x4. This option combines only with -d -o -x -b and must
Ascii table in decimal.
Ascii table in hex.
Ascii table in octal.
Ascii table in binary.
Show summary of options and a simple ASCII
Show version of program.
Characters in the ASCII set can have many aliases, depending on context. A
character's possible names include:
•Its bit pattern (binary
•Its hex, decimal and octal
•Its teletype mnemonic and
caret-notation form (for control chars).
•Its backlash-escape form in C (for
some control chars).
•Its printed form (for
•Its full ISO official name in
•Its ISO/ECMA code table
•Its name as an HTML/SGML entity.
•Slang and other names in wide use for
it among hackers.
This utility accepts command-line strings and tries to interpret them as one of
the above. When it finds a value, it prints all
of the names of the
character. The constructs in the following list can be used to specify
character values. If an argument could be interpreted in two or more ways,
names for all the different characters it might be are dumped.
Any character not described by one of the
following conventions represents the character itself.
A caret followed by a character.
A backslash followed by certain special
An ASCII teletype mnemonic.
A hexadecimal (hex) sequence consists of one
or two case-insensitive hex digit characters (01234567890abcdef). To ensure
hex interpretation use hexh, 0xhex,
x hex or \xhex.
A decimal sequence consists of one, two or
three decimal digit characters (0123456789). To ensure decimal interpretation
use \0ddecimal, ddecimal, or
An octal sequence consists of one, two or
three octal digit characters (01234567). To ensure octal interpretation use
o<octal>, or \o<octal>.
A bit pattern (binary) sequence consists of
one to eight binary digit characters (01). To ensure bit interpretation use
0b<bit pattern>, b<bit pattern> or
\b <bit pattern>.
An ISO/ECMA code sequence consists of one or
two decimal digit characters, a slash, and one or two decimal digit
An official ASCII or (unofficial) slang
The slang names recognized and printed out are from a rather comprehensive list
that first appeared on USENET in early 1990 and has been continuously updated
since. Mnemonics recognized and printed include the official ASCII set, some
official ISO names (where those differ) and a few common-use alternatives
(such as NL for LF). HTML/SGML entity names are also printed when applicable.
All comparisons are case-insensitive, and dashes are mapped to spaces. Any
unrecognized arguments or out of range values are silently ignored. Note that
option will not recognize 'long' names, as it cannot
differentiate them from other parts of the string.
For correct results, be careful to stringize or quote shell metacharacters in
arguments (especially backslash).
This utility is particularly handy for interpreting cc(1)'s ugly octal
`invalid-character' messages, or when coding anything to do with serial
communications. As a side effect it serves as a handy base-converter for
random 8-bit values.
Eric S. Raymond <firstname.lastname@example.org>; November 1990 (home page at
). Reproduce, use, and modify as you like as
long as you don't remove this authorship notice. Ioannis E. Tambouras
<email@example.com> added command options and minor enhancements. Brian
J. Ginsbach <firstname.lastname@example.org> fixed several bugs and expanded the man
page. David N. Welton <email@example.com> added the -s
Vela corrected the ISO names. Dave Capella contributed the idea of listing