代码之家  ›  专栏  ›  技术社区  ›  Laurynas Biveinis

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

  •  4
  • Laurynas Biveinis  · 技术社区  · 15 年前

    来自Emacs 23.1 NEWS :

    ***Emacs字符集现在是Unicode的超集。(关于…… 是代码空间的四倍, 应该足够了)。

    更多详细信息,请参阅:

    ***在多字节缓冲区和字符串中,字符由UTF-8表示。 字节序列。字符代码 空格现在是0x0..0x3ffff,不带 间隙;代码点0x0..0x10ffff为 相同代码的Unicode字符 点,而代码点 0x3ff80..0x3ffff是原始8位 字节。

    根据维基百科的说法, BMP UCS 包含65536个字符,最新版本的 Unicode 包含超过10.7万个字符,并且UCS有超过100万个代码点。0x3ffff超过400万。

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

    1 回复  |  直到 15 年前
        1
  •  23
  •   glenatron    15 年前

    Unicode被设计为包含所有人类语言所需的字符集,这对于代码的全球化/本地化当然是有用的,但是因为Emacs本身就是神的工具,它还必须包含所有类型的神可以使用的每一个字符(包括但不限于伟大的老年人)、太空竞赛(包括但不限于我们未来的外星人霸主)、超智能机器智能(包括但不限于我们未来的机器人大师)以及其他所有渴望无限宇宙能量的存在。可能有很多角色!

    或者可以将utf-8作为一种编码字符的方法,它比Unicode集和Emacs所占用的空间大得多,Emacs只支持整个utf-8,但我更喜欢上面的解释。