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,因為它易於理解。

更新於:2022年7月5日

8K+瀏覽量

開啟你的職業生涯

完成課程獲得認證

立即開始
廣告