gpt4 book ai didi

unicode - Unicode 可以映射多少个字符?

转载 作者:行者123 更新时间:2023-12-03 05:20:38 27 4
gpt4 key购买 nike

我要求计算 Unicode 中所有可能的有效组合的数量并附上解释。我知道一个 char 可以编码为 1、2、3 或 4 个字节。我也不明白为什么连续字节有限制,即使该字符的起始字节清除了它应该有多长。

最佳答案

I am asking for the count of all the possible valid combinations in Unicode with explanation.

1,111,998:17 个平面 × 每个平面 65,536 个字符 - 2048 个代理 - 66 个非字符

请注意,UTF-8 和 UTF-32 理论上可以编码多于 17 个平面,但范围受到 limitations of the UTF-16 encoding 的限制。 .

137,929 代码点实际上是在 Unicode 12.1 中分配的.

I also don't understand why continuation bytes have restrictions even though starting byte of that char clears how long it should be.

UTF-8 中此限制的目的是使编码 self-synchronizing .

举个反例,考虑中文 GB 18030 encoding 。其中,字母 ß 表示为字节序列 81 30 89 38,其中包含数字 08 的编码。因此,如果您的字符串搜索功能不是针对这种特定于编码的怪癖而设计的,那么搜索数字 8 将在字母 ß 中发现误报。

在 UTF-8 中,这种情况不会发生,因为前导字节和尾部字节之间的不重叠保证了较短字符的编码永远不会出现在较长字符的编码中。

关于unicode - Unicode 可以映射多少个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5924105/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com