我正在阅读受欢迎的Unicode article from Joel Spolsky并且有一个我不理解的插图。
“Hex Min,Hex Max”是什么意思?这些价值代表什么?最小值和最大值是什么?
二进制只能有1或0.为什么我在这里看到大量字母“v”?
http://www.joelonsoftware.com/articles/Unicode.html
答案 0 :(得分:10)
Hex Min / Max定义unicode字符的范围(通常用HEX中的unicode编号表示)。
v
指的是原始数字的位
所以第一行是说:
0(十六进制00)到127(十六进制7F)范围内的unicode字符(a 7 位号)由以'0'开头的1字节位串表示 然后是unicode号的所有7位。
第二行是说:
128(十六进制0800)到2047(07FF)范围内的unicode数字(11 位号)由第一个2字节位串表示 字节以'110'开头,后跟11位的前5位,以及 第二个字节以'10'开头,后跟11位中剩余的6个
等
希望有意义
答案 1 :(得分:6)
请注意,Joel的文章中的表格涵盖了在Unicode中不存在且永远不存在的代码点。事实上,UTF-8永远不需要超过4个字节,尽管如图所示,UTF-8的方案可以进一步扩展,如图所示。
How does a file with Chinese characters know how many bytes to use per character?中提供了一个更细致的表格版本。它指出了一些差距。例如,字节0xC0,0xC1和0xF5..0xFF永远不会出现在有效的UTF-8中。您还可以在Really good bad UTF-8 example test data查看有关无效UTF-8的信息。
在您显示的表中,Hex Min和Hex Max值是最小和最大U + wxyz值,可以使用二进制'字节序列中的字节数来表示。柱。请注意,Unicode中的最大代码点是U + 10FFFF(并且定义/保留为非字符)。这是使用UTF-16中的代理编码方案仅使用4个字节(两个UTF-16代码点)表示的最大值。