2009-11-04 75 views
4

從Emacs的23.1 NEWSEmacs 23使用的字符集比Unicode大4倍 - 爲什麼?

*** Emacs的字符集,現在是Unicode的一個超集。 (它有大約 四倍的代碼空間,其中 應該很多)。稍後

和更多細節:

***在多字節緩衝器和字符串,字符由UTF-8 字節序列來表示。字符代碼 空間現在是0x0..0x3FFFFF,沒有 間隔;代碼點0x0..0x10FFFF是 Unicode代碼字符代碼相同 點,而代碼點 0x3FFF80..0x3FFFFF是原始8位 字節。

根據維基百科,UCS的​​有65536個字符的Unicode的最新版本包含超過107000個字符,UCS有超過一個百萬的代碼點。 0x3FFFFF超過四百萬。

有什麼問題可以解決,或者如果有內部字符集是Unicode的超集還有什麼好處?

回答

23

Unicode旨在涵蓋所有人類語言所需的字符集,這對您的代碼的全球化/本地化無疑是有用的,但由於Emacs是衆神自己的工具,它還必須涵蓋每個可能(包括但不限於偉大的古老的厄德里奇符文),航天飛行比賽(包括但不限於我們未來的外星霸主),超智能機器智能(包括但不限於我們未來的機器人大師)以及所有渴望無限宇宙能力的人。這可能是很多角色!

也可能是UTF-8是一種編碼字符的方式,它的空間比Unicode集和Emacs支持整個UTF-8所佔用的空間大得多,但我更喜歡上面的解釋。

+7

UTF-8是Unicode字符集的編碼。兩者都不是另一個的子/超集。 – jamessan 2009-11-04 15:28:13

+5

請注意,Unicode是一個字符集,而UTF-8是Unicode字符集的字節編碼(即,UTF-8是一種將Unicode字符集中任何「抽象字符」序列表示爲字節序列的方式)。 – yfeldblum 2009-11-04 15:29:17

+0

修改爲與上述評論更緊密地結合在一起。感謝您的解釋。 – glenatron 2009-11-04 15:54:48

相關問題