資料表示基礎:資訊編碼系統
|
規範覆蓋範圍
|
ASCII 或美國資訊交換標準程式碼是一種標準方法,用於表示所有鍵盤字元,包括數字和其他常用的函式。最新版本是 8 位程式碼,允許 256 個字元。
ASCII 的侷限性
- 256 個字元不足以表示所有可能的字元、數字和符號。
- 它最初是在英語中開發的,因此它沒有代表世界上所有其他語言和文字。
- 網際網路的廣泛使用使得擁有通用的國際編碼系統變得更加重要。
- 平臺和程式的範圍急劇增加,來自世界各地的更多開發人員使用更廣泛的字元。
因此,一個稱為 Unicode 的新標準應運而生,它遵循與 ASCII 相同的基本原則,即它的一種形式為標準英語鍵盤上的每個鍵盤字元都具有唯一的 8 位程式碼。
ASCII 程式碼已被納入 Unicode,這意味著大寫字母 A 的 ASCII 程式碼為 65,Unicode 程式碼也相同。Unicode 還包含 29 個國家/地區的國際字元,甚至包括古典和古代字元的轉換。
為了表示這些額外的字元,顯然需要使用超過 8 位的字元,目前有兩種常用的 Unicode 編碼(UTF-8 和 UTF-16)。顧名思義,後者是 16 位程式碼。
奇偶校驗位是一種在資料傳輸過程中檢測資料錯誤的方法。當你傳送資料時,它以一系列 0 和 1 的形式傳送。
在上圖中,Unicode 字元被傳輸為二進位制程式碼 0111000110101011。在計算機內部或跨網路傳輸時,此程式碼很有可能被破壞。
| 奇偶校驗只能檢測奇數個錯誤,不能修復損壞的位。 |
在上面的例子中,奇偶校驗位被設定為 0 以保持奇數個 1。檢測錯誤的一種方法是在資料傳送前統計每個位元組中 1 的數量,以檢視是偶數還是奇數。在接收端,可以檢查程式碼以檢視數量是否仍然是奇數或偶數。
| 我們必須記住計算 1,而不是 0,奇偶校驗位通常放在 MSB。 |
多數投票是另一種識別傳輸資料錯誤的方法。在這種情況下,每個位都被髮送三次。因此,二進位制程式碼 1001 將被髮送為
111000000111.
當檢查資料時,您應該看到三個位的模式。在這種情況下,它是第一個位的 111,然後是 000,依此類推。如果有差異,您可以使用多數投票來檢視哪一位出現得最頻繁。例如,如果相同的程式碼 1001 被接收為
101010000111.
您可以假設第一個位應該是 1,因為三個位中有兩個是 1,第二個位是 0,因為三個位中有兩個是 0。最後兩位是 0 和 1,因為這部分程式碼似乎沒有錯誤。
| 多數投票可以修復錯誤,但如果同一個位出現了兩個錯誤,則無法檢測到。當然,必須傳輸三倍的資料。 |
與奇偶校驗位一樣,校驗位是一個新增到數字末尾的值,用於嘗試確保數字不會以任何方式被破壞。校驗位是透過取構成數字本身的數字並以某種方式處理它們來建立單個數字而生成的。最簡單但最容易出錯的方法是將數字的各位相加,並不斷將各位相加,直到只剩下單個數字。
因此,123456 的各位相加等於 21,2 和 1 又相加等於 3,因此帶有校驗位的數字變為 1234563。當處理資料時,會重新計算校驗位並將其與已傳輸的數字進行比較。如果校驗位相同,則假定資料已更正。如果存在差異,則會生成錯誤訊息。
- 二進位制程式碼可用於表示文字、字元、數字、圖形、影片和音訊。
- ASCII 和 Unicode 是用於表示字元的系統。
- 資料在處理或傳輸時,任何時候都有可能被破壞。
- 錯誤檢測和糾正方法包括校驗位和多數投票。
|
練習 解釋什麼是字元程式碼。 答案 字元程式碼使用唯一的數字/程式碼來表示每個不同的字元 字元 'a' 的 ASCII 二進位制程式碼是 11000012。單詞 "be" 如何用 ASCII 的二進位制形式編碼。 答案 b = 1100010 e = 1100101 一個程式被開發出來,用於將字串轉換為所有字元都為大寫。 計算機透過獲取每個字元的 ASCII 二進位制程式碼,並對其應用按位與運算來實現這一點,使用掩碼 10111112。 使用上面描述的方法,將小寫字元 'c',ASCII 程式碼 11000112,轉換為大寫字元 'C'。 答案 1000011 描述 ASCII 和 Unicode 之間的區別。 答案 ASCII 每字元使用 7 或 8 位,僅表示拉丁字元和擴充套件符號。Unicode 每字元使用 16 位,可以表示任何字元和語言。 描述 ASCII 和 Unicode 之間的相似之處。 答案 Unicode 包含 ASCII 作為子集,因此每個 ASCII 字元也可以儲存在 Unicode 中。ASCII 字元在 Unicode 中具有與在 ASCII 中相同的字元程式碼。 比較奇偶校驗、校驗位和多數投票的實用性。 答案 奇偶校驗在資料傳輸方面速度快且成本相對較低,但只能檢測單個錯誤,無法修復資料;校驗位需要大量處理,但可以檢測任何數量的錯誤,無法修復資料;多數投票可以捕獲大量錯誤,並且只需要很少的處理;它可以修復錯誤,但需要傳輸三倍的資料量。 字元 a 的 ASCII 二進位制程式碼是 11000012 如果 ASCII 字元在傳輸過程中被接收,並且最高有效位 (最左側) 用作奇偶校驗位,並且使用奇校驗系統,解釋字元是否已正確接收以及如何確定這一點。 答案 字元已正確接收,因為 1 的數量是奇數。 一個系統使用多數投票將 ASCII 字元從一個裝置傳送到另一個裝置。接收器為一個 ASCII 字元的傳輸獲得了以下資訊 000 010 011 111 110 000 010 011 確定接收器應使用哪些 8 位來表示傳輸的 ASCII 字元。 答案 0 0 1 1 1 0 0 1. |