Unicode 與 ASCII

Unicode 與 ASCII

為什麼最新的作業系統中使用 Unicode 而不是 ASCII?

答案1

因為它提供了當前使用的所有字元的簡單且統一的映射,而無需切換代碼頁。此外,您可能指的是 EASCII 或 ANSI(或其他具有 256 個字元的衍生形式)。

舉個例子:以前在同一系統上使用俄語和捷克語是不可能的(即沒有 Unicode),因為代碼頁會發生衝突。因此,檔案名稱(以及其他物件)對於任何一個都可能顯示不正確,具體取決於目前選擇的代碼頁。

Unicode 緩解了這個問題並添加了一些其他概念。為了獲得全面的良好概述,我可以推薦 O'Reilly 的“Unicode Expanded”。此外,它是由關心國際化的人編寫的,即使是現在,許多以英語為母語的人也不能這麼說,因為ASCII (0..127) 可以用來覆蓋所有英語句子,並且不存在代碼頁問題,即使在只要您堅持使用純拉丁字符,就可以使用 EASCII。

雖然實作有所不同(Debian 使用UTF-8,而較新的Windows 使用UTF-16,而較舊的基於NT 的Windows 使用UCS-2(UTF-16 的子集)),Unicode 消除了程式碼頁施加的所有限制,即使用它的殺手鐧。

如果您對它的程式設計感興趣,請查看 ICU。

答案2

簡短回答:因為 Unicode 支援的字元比 ASCII 更多。

維基百科:

Unicode 旨在滿足對可行、可靠的世界文本編碼的需求。 Unicode 可以粗略地描述為“寬體 ASCII”,它已擴展到 16 位元以包含世界上所有現有語言的字元。在正確設計的設計中,每個字元 16 位元足以滿足此目的。

答案3

UTF-8 從一開始就被設計為向後相容 ASCII。任何 7 位元 ASCII 系統立即變成基本的 UTF-8 系統(儘管不一定處理超過基本 ASCII 的 127 個字元)。

UTF-8 在 ASCII 系統上進行了擴展,允許將多個位元組組合在一起組成單個字元。這使得電腦可以處理數十萬個不同的字元 - 其目的是能夠將所有語言的所有字母表的所有字元放在一個大字元表中。

http://en.wikipedia.org/wiki/UTF-8詳細解釋了這一切是如何運作的。

相關內容