Emacs 23使用比Unicode大四倍的字符集 - 为什么?

时间:2009-11-04 14:49:22

标签: emacs unicode emacs23

来自Emacs 23.1 NEWS

  

*** Emacs字符集现在是Unicode的超集。 (它有关于   代码空间的四倍,其中   应该是充足的。)

稍后会详细介绍:

  

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

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

可以解决哪些问题,或者如何使内部字符集成为Unicode的超集?

1 个答案:

答案 0 :(得分:23)

Unicode旨在涵盖所有人类语言所需的字符集,这对于代码的全球化/本地化当然是有用的,但是因为Emacs是众神本身的工具,它还必须包含可能存在的每个字符。被各种神灵使用(包括但不限于伟大的旧世界的邪恶符文),航天比赛(包括但不限于我们未来的外星霸主),超智能机器智能(包括但不限于我们的未来的机器人大师)和其他每一个渴望无限宇宙力量的人。这可能是很多角色!

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