UTF-8 修改版
DataInput 和 DataOutput 接口的实现表示稍微改版的 UTF-8 格式的 Unicode 字符串。(关于标准 UTF-8 格式的信息,请参阅 The Unicode Standard, Version 4.0 的 3.9 Unicode Encoding Forms 小节)。注意,在下表中,最高有效位显示在最左边的列中。
'/u0001'
到 '/u007F'
范围内的所有字符由单个字节表示:
位值 字节 1
0 位 6-0
null 字符 '/u0000'
和 '/u0080'
到 '/u07FF'
范围内的字符由一对字节表示:
位值 字节 1
1 1 0 位 10-6 字节 2
1 0 位 5-0
'/u0800'
到
'/uFFFF'
范围内的
char
值由三个字节表示:
位值 字节 1
1 1 1 0 位 15-12 字节 2
1 0 位 11-6 字节 3
1 0 位 5-0
这种格式与标准 UTF-8 格式之间的不同如下:
- null 字节
'/u0000'
是用 2-byte 格式而不是 1-byte 格式编码的,因此已编码的字符串中决不会有嵌入的 null。 - 仅使用 1-byte、2-byte 和 3-byte 格式。
- 增补字符是以代理项对的形式表示的。
-
从以下版本开始:
- JDK1.0 另请参见:
-
DataInputStream
,DataOutput