</p> 5.2 utf-16
+ k6 K4 _: x; ~9 m# n. F+ o 总共17个平面3 @- X3 V* h' M5 k9 H7 s/ c
0×0000~0×10FFFF 1114112-2048=1112064个码位
. P, J& z$ ~* [3 W3 ? Unicode已界说的码位是238605个
( l2 y$ J" Z. N, X5 ] 平面15之界说了占65534个码位的专用区,0xF0000~0xFFFFD。 P) [. K( d5 D
平面16之界说了占65534个码位的专用区,0×100000~0×10FFFD。
' S- ~3 |4 a9 @0 }5 s* w: t) V- Y 平面0中界说了6400个专有区,0xE0000~0xF8FF。! Y) b$ v$ e! g
238605-65534*2-6400-2408=99089余下的分布在平面0、1、2、14上。! i" I4 S8 O' Q% K5 W# t/ _; e/ k
12
. M' u' B9 m& E, D* W* { 平面0上界说了52080个字符;
1 R2 [7 W; C5 N+ f! L2 w5 o 平面1上界说了3419个字符;
9 [) |; L" v9 j1 l D$ o& D" ] r6 [* ^ 平面2上界说了43253个字符;7 K8 k) ~4 g# Y0 o: b& u
平面14上界说了337个字符。' H* e( x2 E- v2 s* a n7 r
平面2的43253个字符都是汉字,平面0上界说了27973个汉字。
4 {- J: K) c& z" F8 i" Q3 O8 X 根基平面 0×0000~0xFFFF* p; `, t# k! n+ B4 d" P
1~14平面 0×10000~0xEFFFF 0xD800~0xDBFF高位 DCOO~DFFF低位
% E7 I/ u+ S5 b# f m: d 15平面 0xF0000~0xFFFFF 0xDB80~0xDBBF高位 DCOO~DFFF低位5 Y9 x- ~- U( o. N
16平面 0×100000~0×10FFFF 0xDBC0~0xDBFF高位 DCOO~DFFF低位/ b7 a, L% q8 l. s8 j/ t+ V
5.3高位序列和低位序列的判定
" W0 {/ q# Z/ L i, l* F8 { java.lang.String#getBytes(String) 的源代码/ B9 [1 b: @! n ^
java.lang.StringCoding.encode 的源代码,再经由过程其底层类库的字符集类sun.io.CharacterEncoding 可以找出 Unicode 的转换器,是采用sun.io.CharToByteUnicode 这个类的,这个类的 sun.io 包是篡夺file.encoding.pkg 这个系统属性拼接字符串反射而来的。 |