Java JVM修改的UTF-8中的v格式
在JVM规范中,在中,它说明了“2乘以3字节格式”的Java JVM修改的UTF-8中的v格式,java,utf-8,jvm,Java,Utf 8,Jvm,在JVM规范中,在中,它说明了“2乘以3字节格式”的v格式: 这意味着补充字符由六个字节表示,u、v、w、x、y和z 表4.14。v:1010(位20-16)-1 由于v是8位,这意味着(位20-16)-1必须是4位。-1如何将位20-26从5位缩减到4位 (补充问题:是否有理由说“2乘以3字节”而不是“6字节”?)的范围从U+0000到U+10FFFF 大于U+FFFF的值称为补充码点。它们的二进制表示是uuuu xxxxxxxxxxxxxx(21位),其中uuuu介于00001和10000之
v
格式:
这意味着补充字符由六个字节表示,u、v、w、x、y和z
表4.14。v:1010(位20-16)-1
由于v
是8位,这意味着(位20-16)-1
必须是4位。-1
如何将位20-26
从5位缩减到4位
(补充问题:是否有理由说“2乘以3字节”而不是“6字节”?)的范围从U+0000
到U+10FFFF
大于U+FFFF
的值称为补充码点。它们的二进制表示是uuuu xxxxxxxxxxxxxx
(21位),其中uuuu
介于00001
和10000
之间
在UTF-16中,补充码点由编码,如中所述。也就是说,uuuu xxxxxxxxxxxxxx
由两个16位字符表示:110WWWWXXXXXX 110111XXXXXXXXX
,其中WWWWWW=uuuuu-1
00001≤ 乌乌≤ 10000,因此,0000≤ WW≤ 1111
现在,修改后的UTF-8将补充代码点编码为两个字符:高代理和低代理。这些代理字符中的每一个都由UTF-8中的3个字节表示。因此,这是一个“二乘三”的数字