Moh*_*uur 6 java unicode codepoint sample-data
我正在寻找样本1字节,2字节,3字节,4字节,5字节和6字节的unicode字符.任何指向所有不同unicode字符的引用的链接以及它们有多大(按字节顺序)都将非常感激.我希望这个参考也有代码点\uXXXXX.
没有"1字节,2字节,3字节,4字节,5字节和6字节unicode字符"这样的东西.
您可能会谈论Unicode字符的UTF-8表示.类似地,Java中的字符串在内部以UTF-16表示,因此Java char类型表示UTF-16 的16位代码单元,并且每个Unicode字符可以由一个或两个这些代码单元表示,并且每个代码单元可以用\uxxxx字符串文字表示(请注意,这些序列中只有4个十六进制数字,因为代码单位是16位长).
因此,如果需要使用UTF-8和UTF-16表示形式引用Unicode字符,可以查看fileformat.info中的表.
也可以看看:
正如axtavt指出的那样,n字节Unicode字符的概念毫无意义; 假设你的意思是UTF-8,那么一个非常简单的表可以帮助你进行测试等,可能如下所示.请注意,所有示例字符都适用于我的浏览器(Ubuntu上的Chrome),但您的里程可能会因显示,复制/粘贴等因素而异.
UTF-8 bytes Start End Example Character
1 U+0000 U+007F ! EXCLAMATION MARK U+0021)
2 U+0080 U+07FF ¶ PILCROW SIGN (U+00B6)
3 U+0800 U+FFFF ? PER TEN THOUSAND SIGN (U+2031)
4 U+10000 U+1FFFFF MUSICAL SYMBOL SIXTEENTH NOTE (U+1D161)
Run Code Online (Sandbox Code Playgroud)
理论上,UTF-8中可以有5或6字节值,但Unicode的32位地址空间实际上限制为最大10FFFF,因此不需要超过4个字节.
请注意,这里有一个重要的警告:Java的char是不是一个Unicode字符; 它是UTF-16的16位代码单元,并且看到将非BMP字符(如上面的U + 1D161)视为2个字符的数据流并且相应地使用UTF-8并不罕见.例如:
Character: U+1D161
UTF-8 encoding: 0xF0 0x9D 0x85 0xA1
UTF-16 encoding: 0xD834 0xDD61
UTF-16 code points individually encoded as UTF-8: 0xED 0xA0 0xB4 0xED 0xB5 0xA1
Run Code Online (Sandbox Code Playgroud)
请注意,这具有明显显示6字节UTF-8字符的效果,但事实上UTF-8不允许这样做.UTF-8必须是原始代码点的编码,而不是代表这些点的UTF-16代码单元的编码.这并不意味着你不会在野外看到它......
| 归档时间: |
|
| 查看次数: |
7191 次 |
| 最近记录: |