首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是unicode中的“非字符”?

什么是unicode中的“非字符”?
EN

Stack Overflow用户
提问于 2021-03-29 20:48:07
回答 1查看 221关注 0票数 3

我不知道什么是“非字符”字符。它们是禁止使用的unicode字符,尽管我可以复制和粘贴它们,比如U+FFFF ()。如果一个字符在Unicode中有固定位置,并且可以用于显示某些内容,那么:

为什么这些字符"noncharacter"?

  • What是将它们归类为非字符的点,因为它们在表上保持一个位置,并且可以在HTML和中显示(尽管是替换字符)?
  1. ,在Unicode中有那么多空空格有什么意义,比如在"Specials“(FFF0-FFFF)块中?
EN

回答 1

Stack Overflow用户

发布于 2021-03-29 21:12:51

特色警戒区不是空的。该块中的几个元素被分配。最著名的(也是最重要的),替换字符(U+FFFD)在这个块中。虽然它在技术上不是一个字符,或者在特殊块中,但是非常重要的序列"FFFE“(小端点BOM)可以出现在文件的开头,所以U+FFFE不是一个其他合法的字符是有用的。(相关的U+FEFF在技术上是一个字符,但它作为字符的使用是不可取的。)如果需要新的“特价”,则仍有几个插槽可供它们使用,同时也可在该区块内使用。

Unicode更喜欢将类似的东西组合成两种大小的方便的块,因此在目前没有分配的各种块的末尾有一些剩余的值。Unicode空间的总数超过了100万个代码点。分配的还不到30万,所以有很大的空间来保持物品的整洁。

正式的非字符(每个平面的xFFFE和xFFFF,加上FDEF)为字节序列的“特殊用途”留出了空间,你知道这些字节序列永远不会是一个字符。BOM是这些用途中最著名的一种,但是如果需要的话,实现可以将它们用于其他目的。总之,一百万个代码点中有66个,所以提供一些未来的灵活性并不是很大的成本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66861437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档