With no arguments, ascii prints a table of the character set in
the specified base. Characters of text are converted to their
ASCII values, one per line. If, however, the first text argument
is a valid number in the specified base, conversion goes the opposite
way. Control characters are printed as two– or three–character
mnemonics. Other options are:
–n Force numeric output.
–c Force character output.
–t Convert from numbers to running text; do not interpret control
characters or insert newlines.

Unicode is similar; it converts between UTF and character values
from the Unicode Standard (see utf(6)). If given a range of hexadecimal
numbers, unicode prints a table of the specified Unicode characters
-- their values and UTF representations. Otherwise it translates
from UTF to numeric value or vice versa, depending
on the appearance of the supplied text; the –n option forces numeric
output to avoid ambiguity with numeric characters. If converting
to UTF , the characters are printed one per line unless the –t
flag is set, in which case the output is a single string containing
only the specified characters. Unlike ascii, unicode treats
no characters specially.

The output of ascii and unicode may be unhelpful if the characters
printed are not available in the current font.

The file /lib/unicode contains a table of characters and descriptions,
sorted in hexadecimal order, suitable for look(1) on the lower
case hex values of characters.

EXAMPLES

ascii –d

Print the ASCII table base 10.

unicode p

Print the hex value of `p'.

unicode 2200–22f1

Print a table of miscellaneous mathematical symbols.

look 039 /lib/unicode

See the start of the Greek alphabet's encoding in the Unicode
Standard.