字符編碼:解讀文字的奧秘
各位未來的電腦科學家,大家好!歡迎來到字符編碼(Character Encoding)這一章。這是「數據表示」中極其重要的一環,因為它解釋了電腦如何將你現在正在閱讀的這些字母(A、B、C...)轉換成它唯一能懂的語言——由 1 和 0 組成的二進制。
別擔心這聽起來很複雜,我們會透過簡單的日常比喻把它拆解得清清楚楚!
什麼是字符編碼?
想像你有一本秘密代碼簿。每一個字母、數字或符號(稱為字符 Character)都對應一個獨一無二的數字。當你想傳送字母「A」時,你並不是真的傳送「A」,而是傳送與「A」對應的那個數字。
字符編碼就是一套系統,它為每一個字符分配一個唯一的二進制代碼(一串 1 和 0 的組合),讓電腦能夠儲存和交換文字數據。
字符集(Character Set)
- 字符集就是一套官方清單,列出了電腦系統或標準所能識別的所有字符(字母、數字、標點符號和特殊符號)。
- 編碼則是一套規則,負責將字符集中的每個字符對應到特定的二進制數字。
比喻:你可以把它想像成電話簿。字符(例如字母「T」)就是人的名字,而二進制代碼(例如 01010100)就是對應的電話號碼。兩台裝置必須使用相同的電話簿(編碼標準),才能準確理解對方傳遞的訊息。
兩大主流標準
在電腦世界中,有兩套最重要的編碼標準是你必須掌握的:ASCII 和 Unicode。
1. ASCII (美國信息交換標準代碼)
ASCII 是最早且最成功的編碼標準之一,它為電腦處理文字的方式奠定了基礎。
ASCII 的主要特點
- 位元大小:ASCII 是一套 7-bit 的編碼。
- 容量:由於它使用 7 個 bit,因此可以表示 \(2^7\) 種不同的組合。這意味著它能定義 128 個不同的字符(從 0 到 127)。
- 內容:這個容量涵蓋了:
- 英文大小寫字母(A-Z, a-z)。
- 數字(0-9)。
- 基本標點符號(., !, ?)。
- 特殊控制碼(如「Tab」或「Enter」鍵)。
例子:在 ASCII 中,大寫字母「A」由十進制數字 65 代表,轉換為二進制代碼即 01000001(為了方便儲存,通常會使用 8 個 bit,其中第 8 個 bit 往往閒置或是作為同位檢測位元使用,但標準定義本身只有 7 個 bit)。
小貼士:請記住,為了電腦處理方便,我們通常會將 7-bit 的 ASCII 字符儲存在一個 8-bit 的位元組(byte)中。
ASCII 的限制
ASCII 最大的問題在於它容量有限(只有 128 個字符)。對於基礎英文來說這已經足夠,但它無法處理:
- 其他語言的字符(如中文、阿拉伯文或俄文)。
- 帶變音符號的字母(如 é, ü 或 ñ)。
- 各種數學或技術符號。
ASCII 重點筆記:7-bit,共 128 個字符,非常適合基礎英文,但無法滿足全球化的需求。
2. Unicode:全球通用標準
隨著電腦技術走向全球,網際網路將世界各國連接起來,ASCII 的限制就變成了一個大麻煩。我們需要一套能處理世界上所有語言文字的系統,於是 Unicode 應運而生。
為什麼需要 Unicode?
Unicode 的開發初衷是建立一個龐大的統一字符集,能夠容納古往今來所有語言所使用的每一個字符、符號以及表情符號。
Unicode 的主要特點
- 位元大小:Unicode 根據不同的編碼標準(如 UTF-8、UTF-16 等),每個字符使用的位元數量不同,通常為 8、16 或 32 個 bit。
- 容量:如此龐大的位元空間意味著 Unicode 可以定義 超過一百萬個獨一無二的字符。
- 內容:Unicode 不僅涵蓋了 ASCII 的所有內容,還包括:
- 所有主要的世界語言(中文、日文、阿拉伯文、印地文等)。
- 數以千計的特殊符號(貨幣符號、音樂符號等)。
- 至關重要的一點:表情符號(Emojis)! 表情符號本身就是標準的 Unicode 字符。
你知道嗎?因為 Unicode 設計得非常周全,Unicode 系統中的前 128 個字符與原始 ASCII 系統中的字符完全一致。這確保了完美的向下兼容性(Backward Compatibility)!
Unicode 的影響
Unicode 是當今網際網路、作業系統及絕大多數應用程式所使用的主要編碼系統。它讓世界各地的用戶能夠順暢溝通,不用擔心字符變成亂碼(通常稱為「mojibake」)。
比喻:如果說 ASCII 是一個只服務特定社區的小型電話簿,那麼 Unicode 就是全球通用的國際電話總目錄。
延伸小知識:理解位元大小(Bit Size)
當你看到 ASCII(7-bit)與 Unicode(通常使用 16 或 32-bit)的差異時,請記住,每增加一個 bit,容量就會翻倍:
- 7-bit = 128 種可能性
- 8-bit = 256 種可能性
- 16-bit = 65,536 種可能性
- 32-bit = 超過 40 億種可能性!(足以涵蓋已知人類所有的書寫系統。)
Unicode 重點筆記:為全球應用而設計,支援過百萬個字符,使用更多 bit(如 16 或 32)以實現巨大容量,是現代標準。
重點回顧:ASCII 與 Unicode 比較
下表總結了考試中需要掌握的關鍵區別:
特性 ASCII Unicode 用途 基本文字編碼(專注於英文)。 通用編碼(涵蓋所有世界語言和符號)。 位元深度(大小) 7-bit 不固定(通常為 8、16 或 32-bit) 容量(字符數量) 128 個字符 超過 100 萬個字符 應用範圍 受限(僅字母 A-Z、0-9、基本符號)。 全球化(變音符號、中文、阿拉伯文、表情符號等)。 常見錯誤:不要將 ASCII 字符的「儲存方式」(通常使用 8-bit/1 byte)與 ASCII 標準本身的「定義」(標準只規定 7-bit)混為一談。
做得好!多虧了字符編碼,現在你已經明白字母是如何在電腦裡悄悄變成二進制數字的。這對於理解電腦如何表示及處理數據至關重要!