4

来自 Emacs 23.1新闻

*** Emacs 字符集现在是 Unicode 的超集。(它有大约四倍的代码空间,应该足够了)。

稍后还有更多详细信息:

*** 在多字节缓冲区和字符串中,字符由 UTF-8 字节序列表示。字符代码空间现在是 0x0..0x3FFFFF,没有间隙;代码点 0x0..0x10FFFF 是相同代码点的 Unicode 字符,而代码点 0x3FFF80..0x3FFFFF 是原始 8 位字节。

根据维基百科,UCS的BMP有65536 个字符,最新版本的Unicode包含超过 107000 个字符,UCS 有超过一百万个码点。0x3FFFFF 超过四百万。

可以解决哪些问题,或者拥有作为 Unicode 超集的内部字符集有什么好处?

4

1 回答 1

23

Unicode 旨在包含所有人类语言所需的字符集,这对于代码的全球化/本地化当然很有用,但由于 Emacs 是众神的工具,它还必须包含神可能使用的每个字符各种(包括但不限于旧日神符的可怕符文)、航天种族(包括但不限于我们未来的外星霸主)、超智能机器智能(包括但不限于我们未来的机器人大师) ) 以及其他所有渴望无限宇宙力量的存在。那可能是很多字符!

或者它可能与 UTF-8 作为一种编码字符的方式有关,它的空间比 Unicode 集和仅支持整个 UTF-8 的 Emacs 占用的空间大得多,但我更喜欢上面的解释。

于 2009-11-04T15:26:10.040 回答