ANSI和ASCII的區別
文字由單個字元組成,這些字元組合成單詞和句子。為特定目的所需的字元被分組到字元集中。每個字元都分配一個編號,稱為程式碼點,以便在引用字元時不會產生歧義。
計算機根據字元的大小將每個字元儲存為一個或多個位元組。如果您假設計算機中的每個字元都由一個唯一的程式碼表示,類似於用於轉換通訊的密碼,那麼您可以大致瞭解其工作原理。字元編碼充當可用於解密程式碼的金鑰。它是一組計算機中的位元組和字元集中的字元之間的對映。沒有金鑰,資料看起來就像垃圾。
當您使用鍵盤或任何其他方法將文字輸入到計算機時,字元編碼首先將您選擇的字元對映到計算機記憶體中的特定位元組。為了顯示文字,計算機然後讀取這些位元組並將它們轉換回字元。
通俗地說,“字元編碼”是一種指示計算機如何將原始的零和一解釋為實際字元的方法。這是基於每個字元都由一組唯一的數字表示的。
目前,有大量不同版本的字元編碼在流通。ANSI和ASCII都是存在了很長時間但仍然常用的字元編碼技術。儘管大多數人認為這兩個系統是等價的,但實際上並非如此。
什麼是ANSI?
美國國家標準學會 (ANSI) 程式碼是由美國國家標準學會發布的標準化數字或字母識別符號,用於在所有聯邦政府部門中統一識別地理實體。這些程式碼可以在 ANSI 文件中找到。它是給定作業系統(如 Windows)的預設內碼表的通用術語。
90多年來,它一直擔任美國私營部門和自願標準化體系協調者的角色。從某種意義上說,這實際上是對 ASCII 字元集的擴充套件,因為它除了這些字元之外,還具有所有 ASCII 字元以及 128 個字元程式碼。
美國資訊交換標準程式碼 (ASCII) 不過是對包含 128 個符號並使用 7 位的內碼表的定義。ANSI 標準將其擴充套件到 8 位,並且對於符號 128 到 255,有多個單獨的內碼表。
1985年,Microsoft Windows 首次釋出,其中已安裝 ANSI 字元集。ANSI 內碼表格式是 Windows ME 中使用的主要格式。它們也與 Windows NT 作業系統相容。在 Windows/U.S. 上執行時,它被稱為 Windows-1252。此外,ANSI 編碼格式是 Notepad++ 中預設使用的格式。拉丁字母的編碼通常以這種方式完成。Unix 和 MS-DOS 都是基於 ANSI 的流行軟體的示例。
什麼是ASCII?
ASCII(美國資訊交換標準程式碼)是一種字元編碼技術,是第一個字元編碼標準。它是一種將英文字元表示為數字的程式碼,每個字母都分配一個從 0 到 127 的數字作為其在程式碼中的表示。
有 95 個可列印字元構成編碼文字。這些可列印字元包括數字 0 到 9、小寫字母“a”到“z”、大寫字母“A”到“Z”以及各種標點符號。此外,ASCII 的第一個規範包括 33 個非列印控制程式碼,這些程式碼源自電傳打字機。大多數這些非列印控制程式碼已不再使用,但少數幾個,例如回車、換行和製表符程式碼,仍在廣泛使用。
儘管大多數現代字元編碼方法都源自 ASCII,但它們支援更廣泛的字元。它是一種僅使用單個位元組的最低 7 位的編碼。ASCII 檔案中的每個字母字元、數字字元和特殊字元都由一個 7 位長的二進位制整數表示。
無論我們是否習慣使用普通鍵盤,我們鍵入時始終使用 ASCII 程式碼。絕大多數情況下,使用數字 ASCII 程式碼來識別在鍵盤上鍵入的每個字母。電子郵件的傳輸、文字檔案的建立、視覺藝術、計算機語言 C 和其他應用程式都使用 ASCII 字元。基於 UNIX 或 Windows 的作業系統也使用一種轉換為和從 ASCII 轉換的機制。
ANSI和ASCII的區別
兩種編碼標準之間的主要區別在於 ANSI 或 ASCII 可以表示的最大字元數。在與 Microsoft 相關的 ANSI 編碼系統中,每個字元都使用 8 位模式。另一方面,ASCII 字元編碼技術透過 7 位長的唯一二進位制數字識別每個字元。因此,ASCII 程式碼可用於指定總共 128 個不同的字元。
ASCII 最初設計時僅使用 7 位,導致總共有 128 種不同的字元組合。它是專門為英語設計的,測試表明它能夠儲存所有字母、數字、特殊字元、符號和未列印的字元。
美國國家標準學會 (ANSI) 負責維護一個稱為 ANSI 的標準內碼表,該內碼表由 Windows 等作業系統使用。這是一種與 Microsoft 相關的編碼方法。它為字母表中的每個字母使用 8 位序列。但是,由於 Microsoft 擁有悠久而輝煌的歷史,因此這個名稱仍然適用。儘管 ANSI 是一種靈活的編碼方法,但 ASCII 仍然是主要的字元編碼形式。
ANSI 包含所有必要的繪圖符號,而 ASCII 僅包含數字表示。
下表重點介紹了 ANSI 和 ASCII 之間的主要區別 -
比較依據 | ANSI | ASCII |
---|---|---|
全稱 | 美國國家標準學會 | 美國資訊交換標準程式碼 |
字元表示 | 256個字元 | 128個字元 |
位使用 | 它使用8位 | 它使用7位 |
生命週期 | 它具有較短的生命週期 | 它具有較長的生命週期 |
一致性 | 在系統範圍內,它們並不相同。 | 每個系統使用的 ASCII 程式碼點完全相同。 |
複雜度 | 它不簡單易用。 | 它簡單易用。 |
標準化 | 否 | 是 |
結論
Unicode 比 ASCII 或 ANSI 都更完整,已經取代了這兩種較舊的編碼標準。在這種情況下,ANSI 和 ASCII 之間的主要區別在於能夠進行向後相容性檢查。
ANSI 是 ASCII 的超集,它擴充套件並改進了 ASCII 編碼系統。ANSI 字元集是為了規避 ASCII 字元集的限制而開發的;但是,此嘗試最終失敗,ANSI 字元集最終被停用。
儘管如此,ASCII 程式碼在世界各地的鍵盤上都使用,因為它們提供了一種通用且標準的語言。這種語言是英語。因此,程式設計師和任何設計軟體的人通常都選擇 ASCII,因為它易於理解。