歡迎來到字元編碼的世界!

你有沒有想過,電腦是如何知道那一串 1 和 0 在螢幕上應該顯示為字母「A」?或者它是如何顯示出一個讚的表情符號(thumbs-up emoji)的呢?

在這章節中,我們將一起探索字元編碼(Character Encoding)。你可以把它想像成電腦用來將二進位數字翻譯成我們日常使用的字母、數字和符號的「秘密解碼器」。如果覺得二進位看起來有點「數學味」也不用擔心,我們會把它拆解成簡單的步驟來學習!

1. 什麼是字元集(Character Set)?

在進入具體的編碼之前,我們需要先理解整體的概念。字元集基本上就是一個巨大的對照表。它包含了電腦系統所能識別的所有字元(字母、數字、符號),並為每一個字元分配一個唯一的二進位數字(即字元編碼)。

比喻:想像你和最好的朋友有一套秘密代碼。你們約定 1 代表「你好」、2 代表「再見」、3 代表「要吃午餐嗎?」。如果你傳送數字「3」,你的朋友就能立刻明白你的意思。那張「規則清單」就是你們的字元集!

重點複習:關鍵詞彙

字元(Character):單一符號,例如 'a'、'Z'、'!' 或 '7'。
字元集(Character Set):電腦能表示的所有字元的完整集合。
字元編碼(Character Code):分配給單一字元的特定二進位數字。

核心觀念:如果沒有字元集,電腦就只會看到一團混亂的二進位數字,完全不知道該如何顯示文字。

2. ASCII:「元祖」級編碼

ASCII(美國資訊交換標準代碼,American Standard Code for Information Interchange)是最初的主要字元集之一。特別需要注意的是,AQA 課程大綱主要針對的是 7 位元 ASCII

運作方式:
• 每個字元使用 7 個位元(bits)
• 這意味著它總共可以表示 \(2^7 = 128\) 種不同的字元。
• 它包含英文字母(大小寫)、數字以及基本標點符號(如 ! ? . ,)。
• 它還包括了像「Enter」鍵或「空格」之類的「控制字元」。

「序列」技巧(考試非常重要!)

在 ASCII 中,字元編碼是按字母順序排列的。這在考試中超級好用!只要你知道 'A' 的編碼,透過數數就能推算其他字母。

例子:
如果題目告訴你 'A' 是 65,你可以輕鬆算出 'C':
• A = 65
• B = 66
C = 67

常見錯誤(要避開!):大寫字母和小寫字母的編碼不同!'A' 和 'a' 不一樣。在 ASCII 中,'A' 從 65 開始,而 'a' 則從 97 開始。

你知道嗎?雖然 ASCII 只使用 7 個位元,但電腦通常會將其存放在完整的 8 位元位元組(byte)中,並將第 8 個位元留空為 0。

3. Unicode:全球升級版

ASCII 很棒,但它有一個大問題:128 個字元根本不夠用!中文字、阿拉伯文,甚至是歐元符號 € 怎麼辦?這就是為什麼 Unicode 被創造出來的原因。

為什麼 Unicode 更強大:
• 它使用更多的位元(通常是 16 或 32 位元),允許表示數百萬種可能的字元。
• 它幾乎能表示世界上所有的語言。
• 它甚至包含了表情符號(emojis)!✊🎨🚀

Unicode 與 ASCII:好朋友

Unicode 設計之初就考慮到了與 ASCII 的「向後相容性」。這代表在前 127 個字元中,Unicode 使用與 ASCII 完全相同的編碼

例子:字元 'A' 在 ASCII 中的編碼是 65,在 Unicode 中同樣也是 65!

別擔心:你不需要了解所有的技術細節(例如 UTF-8 的具體轉換),你只需要知道 Unicode 比 ASCII 更大更具包容性

核心觀念:ASCII 小而簡單(128 個字元),而 Unicode 龐大且全面(足夠容納各種語言和表情符號)。

4. 如何使用編碼表

在考試中,你可能會收到一張小表格,並被要求在字元和編碼之間進行轉換。我們來練習一下!

步驟教學:將字元轉換為編碼

1. 查看給你的字元(例如 'B')。
2. 在提供的表格中找到 'B'。
3. 查看旁邊對應的數字(例如 66)。
4. 如果題目要求,再將該數字轉換為二進位

步驟教學:將編碼轉換為字元

1. 取得二進位數字(例如 0100 0011)。
2. 將其轉換為十進位數字(例如 67)。
3. 在編碼表中尋找 67。
4. 查看它代表的字元(例如 'C')。

記憶小撇步:ASCII 以 A 開頭,即 65。如果你忘了,可以記住「65 歲是人們退休的年紀……而 ASCII 正是一個『老』系統!」

快速總結複習

1. 字元集:字元與其二進位編碼的清單。
2. 7 位元 ASCII:可表示 128 個字元。適合英語,但有侷限性。
3. Unicode:可表示數百萬個字元。用於各種語言和表情符號。
4. 序列:編碼按順序排列(A=65, B=66, C=67)。
5. 相容性:對於前 127 個字元,Unicode 與 ASCII 的編碼相同。

最後提示:當你看到關於「為什麼要從 ASCII 改用 Unicode」的問題時,答案幾乎永遠都是「為了表示來自不同語言的更多字元和符號。」