来自Emacs 23.1 新闻:
***Emacs字符集现在是Unicode的超集.(它的代码空间大约是代码空间的四倍).
以后会有更多细节:
***在多字节缓冲区和字符串中,字符由UTF-8字节序列表示.字符代码空间现在是0x0..0x3FFFFF,没有间隙; 代码点0x0..0x10FFFF是相同代码点的Unicode字符,而代码点0x3FFF80..0x3FFFFF是原始的8位字节.
根据维基百科,BMP的的UCS有65536个字符,最新版本的Unicode包含超过107000个字符,UCS有超过一个百万的代码点.0x3FFFFF超过四百万.
有什么问题可以解决,或者如何让内部字符集成为Unicode的超集是有益的?
Unicode旨在包含所有人类语言所需的字符集,这对于代码的全球化/本地化肯定是有用的,但是因为Emacs是神本身的工具,它还必须包含神灵可能使用的每个角色.各种各样的(包括但不限于Great Old Ones的eldritch符文),航天比赛(包括但不限于我们未来的外星人霸主),超智能机器智能(包括但不限于我们未来的机器人大师)和其他每一个渴望无限宇宙力量的人.这可能是很多人物!
或者它可能与UTF-8是一种编码字符的方式,这些字符比Unicode集和Emacs仅支持整个UTF-8所占用的空间要多得多,但我更喜欢上面的解释.