Unicode UTF-8编码大小

Unicode UTF-8编码大小,unicode,utf-8,Unicode,Utf 8,什么unicode字符适合1、2、4字节?有人能告诉我完整的性格表吗 字符根据其在范围中的位置进行编码。实际上,您可以在Wikipedia页面上找到UTF8的算法-您可以非常快速地实现它 U+0000到U+007F用一个字节(正确)编码 U+0080到U+07FF用2个字节编码 U+0800到U+FFFF用3个字节编码 U+010000到U+10FFFF用4个字节编码 维基百科关于编码的文章有足够好的描述: 1字节=代码点0x000000到0x00007F(含) 2字节=代码点0x0000

什么unicode字符适合1、2、4字节?有人能告诉我完整的性格表吗

字符根据其在范围中的位置进行编码。实际上,您可以在Wikipedia页面上找到UTF8的算法-您可以非常快速地实现它

  • U+0000到U+007F用一个字节(正确)编码
  • U+0080到U+07FF用2个字节编码
  • U+0800到U+FFFF用3个字节编码
  • U+010000到U+10FFFF用4个字节编码
维基百科关于编码的文章有足够好的描述:

  • 1字节=代码点0x000000到0x00007F(含)
  • 2字节=代码点0x000080到0x0007FF
  • 3字节=代码点0x000800到0x00FFFF
  • 4字节=代码点0x010000到0x10FFFF
图表可直接从下载。这是一组大约150个PDF文件,因为一个图表将是巨大的(可能是30个MiB)


还要注意的是,Unicode(与ASCII之类的东西相比)的处理要复杂得多——有从右到左的文本、字节顺序标记、可以组合(“组合”)以创建单个字符的代码点,以及表示完全相同字符串的不同方式(这是一个将字符串转换为适合比较的规范形式的过程)、更多的空白字符等。如果您计划做的不仅仅是“不多”,我建议您下载整个Unicode规范并阅读其中的大部分内容.

UTF-8折衷了1到6个字节的限制,尽管当前的代码点数量仅为4个字节。UTF-8使用第一个字节来确定字符的长度(以字节为单位)-请参阅Wiki页面的各种链接:

单字节UTF-8实际上是ASCII-UTF-8被设计为与之兼容,这就是为什么它比UTF-16更流行的原因



编辑:显然,大家都同意UTF-8的代码点不会超过21位(4字节序列),但它具有处理多达31位(6字节UTF-8)的技术能力。

先读一读:一个完整的图表?这将是一个巨大的图表。有关基本多语言平面的打印版本,请参阅此图(还有16个):有关Unicode字符的类似wiki的表示形式,请参见DecodeUnicode:您还可以阅读有关通用代码的内容:UTF-8的可能副本限制为4个字节。Unicode代码点限制为U+1FFFF(21位),UTF-8编码是规范的(必须选择最短)。因此,您永远不会得到5字节的UTF-8序列。要么它将解码为超过U+1FFFF的字符,要么它将不规范。UTF-8当前的字符集仅使用4个字节,但它是为高达31位的代码点而设计的-导致6字节序列。6字节字符?[抖动]你是对的,虽然Wiki有太多愚蠢的历史,我很生气地滚动并阅读它xdI正在寻找一个提及最大6字节的答案,像这样,但我也想知道最大代码点。我想它应该是U+FFFFFF,像ECMAScript 4。