UTF8(4) BSD Programmer's Manual UTF8(4)NAMEUTF8 - Universal character set Transformation Format encoding of runes
SYNOPSIS
ENCODING "UTF8"
DESCRIPTION
The UTF8 encoding is based on a proposed X-Open multibyte FSS-UCS-TF
(File System Safe Universal Character Set Transformation Format) encoding
as used in Plan 9 from Bell Labs. Although it is capable of representing
more than 16 bits, the current implementation is limited to 16 bits as
defined by the Unicode Standard.
UTF8 representation is backwards compatible with ASCII, so 0x00-0x7f re-
fer to the ASCII character set. The multibyte encoding of runes between
0x0080 and 0xffff consist entirely of bytes whose high order bit is set.
The actual encoding is represented by the following table:
[0x0000 - 0x007f] [00000000.0bbbbbbb] -> 0bbbbbbb
[0x0080 - 0x03ff] [00000bbb.bbbbbbbb] -> 110bbbbb, 10bbbbbb
[0x0400 - 0xffff] [bbbbbbbb.bbbbbbbb] -> 1110bbbb, 10bbbbbb, 10bbbbbb
If more than a single representation of a value exists (for example,
0x00; 0xC0 0x80; 0xE0 0x80 0x80) the shortest representation is always
used (but the longer ones will be correctly decoded).
The final three encodings provided by X-Open:
[00000000.000bbbbb.bbbbbbbb.bbbbbbbb] ->
11110bbb, 10bbbbbb, 10bbbbbb, 10bbbbbb
[000000bb.bbbbbbbb.bbbbbbbb.bbbbbbbb] ->
111110bb, 10bbbbbb, 10bbbbbb, 10bbbbbb, 10bbbbbb
[0bbbbbbb.bbbbbbbb.bbbbbbbb.bbbbbbbb] ->
1111110b, 10bbbbbb, 10bbbbbb, 10bbbbbb, 10bbbbbb, 10bbbbbb
which provides for the entire proposed ISO-10646 31 bit standard are cur-
rently not implemented.
SEE ALSOmklocale(1), setlocale(3)BSDI BSD/OS June 4, 1993 1