- CESU-8
"Compatibility Encoding Scheme for UTF-16: 8-Bit" (CESU-8) is a variant of
UTF-8 that is described in Unicode Technical Report #26 [http://www.unicode.org/reports/tr26/] . A Unicode code point from theBasic Multilingual Plane (BMP), i.e. a code point in the range U+0000 to U+FFFF, is encoded in the same way as in UTF-8. A Unicode supplementary character, i.e. a code point in the range U+10000 to U+10FFFF, is first represented as a surrogate pair, like inUTF-16 , and then each surrogate code point is encoded in UTF-8. Therefore, CESU-8 needs six bytes (3 bytes per surrogate) for each Unicode supplementary character while UTF-8 needs only four. Each CESU-8 character code (1, 2, or 3 bytes) can be converted to exactly one UTF-16 code (2 bytes).CESU-8 is not an official part of the Unicode Standard, because Unicode Technical Reports are informative documents only. It should be used exclusively for internal processing and never for external data exchange.
CESU-8 is similar to Java's Modified UTF-8 but does not have the special encoding of the NUL character (U+0000).
The CESU-8 encoding form is used in the
Oracle database software. Oracle's UTF8 character set (unfortunately, a misnomer), available since version 8.0 of the database, is actually CESU-8. The character set AL32UTF8, introduced in version 9.0, is UTF-8 compliant.Examples
External links
* [http://www.unicode.org/reports/tr26/ Unicode Technical Report #26]
* [http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html Modified UTF-8 overview]
* [http://demo.icu-project.org/icu-bin/convexp?conv=CESU-8 Graphical View of CESU-8 in ICU's Converter Explorer]
Wikimedia Foundation. 2010.