簡介:電腦如何「閱讀」這段文字

你有沒有想過,電腦明明只懂得二進制(0 和 1),它是怎麼知道某個電壓模式代表字母「A」或一個「笑臉」表情符號的呢?
在本章中,我們將探討字元集(Character representation)。你將學習電腦如何使用名為字元集的「密碼本」,將人類語言轉化為位元(bits)和位元組(bytes)。這就像一種秘密語言,每個字母都有其獨一無二的編號!


1. 什麼是字元集?

字元集(Character set)是電腦硬體和軟體所能識別的一組字元定義列表。每個字元都會被分配一個獨一無二的代碼(數字)。當你按下鍵盤上的按鍵時,電腦看到的並不是字母,而是那個以位元模式(bit pattern)呈現的唯一數字。

比喻:你可以把字元集想像成餐廳的菜單。你可能想點「披薩」,但侍應生只會寫下「14號」。只要廚房(電腦)手上有同樣的菜單,他們就知道該準備什麼餐點!

重點回顧:

  • 每個字元(字母、數字或符號)都有一個唯一的數字。
  • 這些數字以二進制形式儲存在電腦記憶體中。

2. ASCII:傳統標準

ASCII(美國資訊交換標準代碼)是最早期的主要字元集之一。它是一個7位元(7-bit)的編碼系統。

數學原理:因為它使用 7 個位元,所以可以代表 \( 2^7 = 128 \) 種不同的字元。
這包括:

  • 英文字母(大小寫)
  • 數字(0-9)
  • 常用標點符號(如 ! , . ?)
  • 控制字元(隱形的指令,如「Enter」或「Delete」)

你知道嗎?雖然 ASCII 是 7 位元的,但它通常儲存在一個 8 位元的位元組(byte)中,第 8 個位元通常保持為 0,或者用於錯誤檢測。

ASCII 的問題:它非常有限!只有 128 個代碼,根本沒有足夠的空間容納其他語言的字元(如阿拉伯文、中文或希臘文),更不用說表情符號了。


3. Unicode 與 UTF-8:全球通用語言

為了克服 ASCII 的限制,Unicode 應運而生。它的目標是代表世界上每一種語言中的每一個字元。

UTF-8

UTF-8 是目前網際網路上最廣泛使用的 Unicode 版本。以下是它的特別之處:

  • 可變長度:它可以使用 8、16、24 或 32 個位元來表示一個字元。
  • 向後兼容(Backwards Compatible):這是一個非常重要的術語!這意味著 UTF-8 中的前 128 個代碼與原始的 ASCII 代碼是完全相同的。
  • 高效:它為英文文字使用的空間較小(8 位元),但可以擴展更多位元來處理複雜符號或其他語言。

記憶小撇步:Unicode 是為了 Universe(宇宙)而設(它涵蓋了一切!)。


4. 使用字元代碼

無論在 ASCII 還是 Unicode 中,字元都是分組排列在「區塊」中的。你不需要背誦整個表格,但應該知道主要群組的起始位置:

  • 數字(0-9):從代碼 48 開始。
  • 大寫英文字母(A-Z):從代碼 65 開始。
  • 小寫英文字母(a-z):從代碼 97 開始。

步驟教學:如何找出代碼

如果這看起來像數學,別擔心,這只是簡單的數數而已!
如果考試題目告訴你 'A' 的代碼是 65,並要求你找出 'D' 的代碼:
1. A = 65
2. B = 66
3. C = 67
4. D = 68

常見錯誤:混淆大小寫。'A' (65) 和 'a' (97) 的代碼是不同的!對電腦而言,它們是完全不同的數據。


5. 字元代碼 vs. 純二進制

這對許多學生來說是一個棘手但非常重要的概念。電腦儲存數字 6 的方式,與儲存字元 '6' 的方式是不同的。

  • 純二進制(Pure Binary):如果你想儲存數值 6(用於數學運算),電腦會將其儲存為 \( 110_2 \)。
  • 字元代碼(Character Code):如果你想在螢幕上顯示符號 '6',電腦會使用 ASCII/UTF-8 代碼。符號 '6' 的代碼是 54(在 7 位元 ASCII 中為 \( 0110110_2 \))。

快速複習箱:
數字 6:二進制 \( 110 \)
字元 '6' (ASCII):二進制 \( 0110110 \)
字元 '6' (UTF-8):二進制 \( 00110110 \)(UTF-8 為此使用 8 個位元)


總結檢查清單:重點摘要

- 字元集:字元與其唯一數值代碼的列表。
- ASCII:7 位元,128 個字元,僅適用於英文及基礎符號。
- Unicode (UTF-8):可變長度,全球通用,與 ASCII 向後兼容。
- 群組:數字從 48 開始,'A' 從 65 開始,'a' 從 97 開始。
- 字元 vs. 數字:儲存符號與儲存用於數學運算的數值是兩回事。