简介:电脑如何“阅读”这段文字
你有没有想过,电脑明明只懂得二进制(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. 数字:储存符号与储存用于数学运算的数值是两回事。