ASCII 表查找:初學者指南

你好,未來的程序员們!我很興奮能成為你們在這個令人興奮的 ASCII 世界旅程中的導遊。作為一位有超過十年經驗的計算機科學老師,我見過無數學生在掌握這個基本概念時眼睛發亮。所以,讓我們一起深入探討 ASCII 表查找吧!

ASCII Table Lookup

什麼是 ASCII?

在我們跳進查找表之前,讓我們先了解一下 ASCII 究竟是什麼。ASCII 代表美國標準信息交換碼。它就像是一種秘密代碼,計算機用來理解字母、數字和符號。想像一下,如果你和你的好朋友創造了一種特殊的語言,其中每個字母都由一個數字表示。這就是 ASCII 對計算機所做的!

7 位 ASCII 代碼

原始的 ASCII 表使用 7 位,這給我們提供了 128 個可能的字符(2^7 = 128)。這些字符包括小寫和大寫字母、數字、標點符號和一些控制字符。

讓我們看一個簡單的 Python 程序來演示我們如何使用 ASCII:

# 打印 'A' 的 ASCII 值
print(ord('A'))

# 打印 ASCII 值為 65 的字符
print(chr(65))

如果你運行這段代碼,你會看到:

65
A

這不是很酷嗎?計算機將 'A' 看作數字 65!這就是 ASCII 編碼的精髓。

ASCII 表查找

這裡有一些常見 ASCII 字符的部分查找表:

字符 ASCII 值
A 65
B 66
C 67
a 97
b 98
c 99
0 48
1 49
2 50
空格 32

實際應用

現在,讓我們在一個有趣的程序中使用這些知識:

def secret_message(message):
encoded = ""
for char in message:
if char.isalpha():
encoded += str(ord(char)) + " "
else:
encoded += char
return encoded

def decode_message(encoded):
decoded = ""
for code in encoded.split():
if code.isdigit():
decoded += chr(int(code))
else:
decoded += code
return decoded

# 我們來編碼一個秘密訊息
secret = secret_message("Hello, World!")
print("編碼後:", secret)

# 現在我們來解碼它
original = decode_message(secret)
print("解碼後:", original)

運行這段代碼,你會看到:

編碼後: 72 101 108 108 111 , 87 111 114 108 100 !
解碼後: Hello, World!

哇!我們剛剛使用 ASCII 創建了一個簡單的加密系統。這是計算機如何在背後處理文字的基本範例。

擴展 ASCII 代碼

現在,你可能會想,“但等一下!世界上有超過 128 個字符!”你完全正確!這就是擴展 ASCII 的用處。

擴展 ASCII 使用 8 位而不是 7 位,允許 256 個字符(2^8 = 256)。這包括了其他語言的字符、數學符號,甚至一些簡單的圖形字符。

擴展 ASCII 表查找

這裡有一些擴展 ASCII 字符的簡單範例:

字符 ASCII 值 描述
Ç 128 拉丁大寫字母 C 帶重音符
ü 129 拉丁小寫字母 U 带變音符
é 130 拉丁小寫字母 E 带尖音符
£ 156 鈎號
© 169 版權符
® 174 註冊符

使用擴展 ASCII

在 Python 中,我們可以像這樣處理擴展 ASCII 字符:

# 打印一個擴展 ASCII 字符
print(chr(169))  # 版權符

# 獲得一個字符的擴展 ASCII 值
print(ord('©'))

這會輸出:

©
169

ASCII 的實際用途

  1. 數據傳輸:ASCII 在許多通信協議中用於確保數據正確傳輸。

  2. 文件編碼:許多文本文件都是使用 ASCII 編碼保存的。

  3. 密碼安全:ASCII 值有时用於基本的加密技術。

  4. 排序:在許多編程語言中,ASCII 值決定了字符串按字母順序排序的順序。

以下是一個基於 ASCII 值排序的快速範例:

words = ['apple', 'Banana', 'cherry', '123']
sorted_words = sorted(words)
print(sorted_words)

這會輸出:

['123', 'Banana', 'apple', 'cherry']

注意 '123' 排在最前面(數字的 ASCII 值較低),然後是 'Banana'(大寫字母在小寫字母之前),最後是 'apple' 和 'cherry'。

結論

好了,各位!我們一起穿越了 ASCII 這個迷人的世界,從基本的 7 位形式到擴展的 8 位版本。我們看到了計算機如何使用這些代碼來表示文字,我們甚至使用這些知識創建了一個簡單的加密系統,並理解了排序機制。

記住,ASCII 就像計算機語言的 ABC。它是一個基本概念,你會在编程旅程中不斷遇到。所以,請將這些知識留存在心,並不要害怕在自 己的项目中嘗試它!

當我們結束時,我想到一位學生曾經告訴我,“ASCII 讓我用全新的眼光看待字母!”我希望這個教程也能為你照亮 ASCII 的世界。繼續編程,繼續學習,最重要的是,繼續樂在其中!

Credits: Image by storyset