我不知道什么是“非字符”字符。它们是禁止使用的unicode字符,尽管我可以复制和粘贴它们,比如U+FFFF ()。如果一个字符在Unicode中有固定位置,并且可以用于显示某些内容,那么:
为什么这些字符"noncharacter"?
发布于 2021-03-29 21:12:51
特色警戒区不是空的。该块中的几个元素被分配。最著名的(也是最重要的),替换字符(U+FFFD)在这个块中。虽然它在技术上不是一个字符,或者在特殊块中,但是非常重要的序列"FFFE“(小端点BOM)可以出现在文件的开头,所以U+FFFE不是一个其他合法的字符是有用的。(相关的U+FEFF在技术上是一个字符,但它作为字符的使用是不可取的。)如果需要新的“特价”,则仍有几个插槽可供它们使用,同时也可在该区块内使用。
Unicode更喜欢将类似的东西组合成两种大小的方便的块,因此在目前没有分配的各种块的末尾有一些剩余的值。Unicode空间的总数超过了100万个代码点。分配的还不到30万,所以有很大的空间来保持物品的整洁。
正式的非字符(每个平面的xFFFE和xFFFF,加上FDEF)为字节序列的“特殊用途”留出了空间,你知道这些字节序列永远不会是一个字符。BOM是这些用途中最著名的一种,但是如果需要的话,实现可以将它们用于其他目的。总之,一百万个代码点中有66个,所以提供一些未来的灵活性并不是很大的成本。
https://stackoverflow.com/questions/66861437
复制相似问题