欢迎来到信息编码系统!

你好!在这一章中,我们将探索计算机到底是如何理解我们输入的内容,比如字母“A”或数字“5”。由于计算机实际上只会说二进制(0 和 1)这种语言,我们需要一套特别的“秘密代码”系统来将我们的世界翻译成它们能理解的世界。这就是信息编码系统的核心所在!

如果刚开始觉得这些概念有点抽象,别担心。看完这些笔记后,你会发现它就像使用麦片盒里附赠的解码器一样简单。让我们开始吧!

1. 字符与纯二进制:数字的两难

首先要理解的是,根据用途的不同,计算机看待数字 5 的方式有两种截然不同的区别。

纯二进制表示法 (Pure Binary Representation)

当你想进行数学运算(例如 5 + 2)时,计算机会使用纯二进制。十进制的 5 会直接存储为其二进制的等值:\( 101_{2} \)。计算机会将其视为一个数值来处理。

字符编码表示法 (Character Code Representation)

当你在文本信息或 Word 文档中输入“5”时,计算机不会把它当作一个用来加减的“数值”,而是把它视为一个符号,或者要在屏幕上绘制的图形。为了做到这一点,它会使用字符编码(例如 ASCII)。例如,在 ASCII 中,字符 '5' 实际上是由二进制代码 \( 00110101 \) 来表示的。

类比: 想象数字 10。如果它印在足球球衣上,它就是一个字符(标签);如果它是比赛中取得的入球数,它就是一个纯二进制数值(数量)。

常见错误: 千万别以为字符 '1' 的二进制就是 \( 00000001 \)。字符在编码表中拥有自己独特的“索引”代码,这与它们的数学数值是完全不同的!

快速复习:
纯二进制: 用于计算和数量。
字符编码: 用于显示文字和符号。

2. ASCII 与 Unicode:世界的字母表

我们如何决定哪种二进制模式代表哪个字母?我们使用编码系统。你需要掌握的最重要的两个系统是 ASCIIUnicode

ASCII (美国信息交换标准代码)

ASCII 是最初的“黄金标准”。它使用 7 个比特 (bits) 来表示字符。
• 使用 7 个比特,可以有 \( 2^{7} = 128 \) 种不同的字符。
• 这对于英文字母(大小写)、数字和基本标点符号来说已经足够了。

Unicode

随着互联网走向全球,128 个字符已经不敷使用。那中文、阿拉伯文,甚至是表情符号该怎么办呢?Unicode 的出现就是为了解决这个问题。
• Unicode 使用更大数量的比特(通常是 16 或 32 个比特)。
• 它能表示超过 100 万种不同的字符!
你知道吗? Unicode 中的前 128 个代码与 ASCII 完全相同。这使得 Unicode 具有“向后兼容性”。

为什么要引入 Unicode?
ASCII 太过局限,无法表示世界上所有的语言或我们今天使用的大量符号。Unicode 提供了一个通用的标准,这样从东京发出的信息在伦敦开启时,看起来是一模一样的。

记忆小撇步:
ASCII = American(美国的,有限的)
Unicode = Universal(通用的,巨大的!)

重点总结: 对于英语来说,ASCII 小巧且高效;但对于全球化的多语言数字世界而言,Unicode 是不可或缺的。

3. 错误检测与校正

当数据通过网络(如 Wi-Fi)传输时,有时会因为电气干扰而导致 1 不小心变成了 0。我们需要方法来发现这些错误!

奇偶校验位 (Parity Bits)

奇偶校验位 (Parity bit) 是在二进制字符串末端增加的一个额外比特,用来使 1 的总数变成偶数奇数

运作方式(偶校验,Even Parity):
1. 计算数据中 1 的个数。
2. 如果数据是 \( 1011001 \),其中有四个 1(是偶数)。
3. 为了保持偶数,校验位填入 0。总数变为:\( 10110010 \)。
4. 如果数据是 \( 1011000 \),其中有三个 1(是奇数)。为了变成偶数,校验位填入 1。总数变为:\( 10110001 \)。

如果接收端在“偶校验”系统中收到一个 1 的总数为奇数的字节,它就知道发生了错误!

多数表决 (Majority Voting)

这是一种不仅能检测错误,还能修正错误的方法。
计算机不只发送一次比特,而是连续发送三次。
范例: 若要发送 '1',计算机会发送 '1 1 1'。
• 如果接收端收到 '1 0 1',它会看到多数是 '1',因此推断那个 '0' 是错误的。它会自动将该比特修正为 '1'。

校验码 (Check Digits)

你在日常生活的条形码 (barcodes) 和书籍的 ISBN 编号上都能看到这些。校验码是通过特定的数学公式,根据之前的所有数字计算出来的最后一个数字。
当扫描器读取条形码时,它会重新计算该公式。如果计算出的结果与标签上的校验码不符,它就会发出警示声,告诉收银员扫描失败。

常见错误: 学生常以为奇偶校验位可以修正错误。其实不行!它们只能检测到出了问题。在上述列表中,只有多数表决能够真正地即时修正错误。

快速复习:
奇偶校验位: 增加一个比特使 1 的总数为偶数或奇数,用于检测单一位元错误。
多数表决: 多次传送数据,既能检测也能修正错误。
校验码: 字符串末尾的计算值(如条形码),用于验证数据是否正确。

总结:宏观视野

在本章中,我们学习到计算机本质上是庞大的翻译机器。它们使用二进制来存储数值,使用 ASCII/Unicode 将这些数值转化为我们阅读的文字,并通过错误检测(如奇偶校验位和多数表决)确保这些翻译在世界各地传输时不会损坏。继续练习那些奇偶校验位的计算,你很快就能完全掌握了!