No history yet

二进制与字符编码

二进制:计算机的语言

计算机的核心非常简单。它不懂人类语言,只认识两种状态:开和关,或者说,高电平和低电平。我们用数字 1 和 0 来表示这两种状态。这就是二进制系统,是所有数字技术的基础。

位 (Bit)

noun

“位”是“二进制数字”的缩写,是计算机中数据的最小单位。一个位只能是 0 或 1。

单个位能表示的信息非常有限。为了表示更复杂的数据,我们将它们组合在一起。

字节 (Byte)

noun

一个字节通常由 8 个位组成。这是计算机处理数据的基本单位。

一个 8 位的字节有多少种组合方式?答案是 $2^8$,也就是 256 种。因此,一个字节可以表示从 0 (二进制的 00000000) 到 255 (二进制的 11111111) 的任何整数。这个范围对于表示数字和基本字符来说已经足够了。

从数字到文字

我们已经知道如何用位和字节表示数字,但如何表示字母、标点符号甚至表情符号呢?这就要靠字符编码了。

字符编码本质上是一本字典,它为每个字符分配一个唯一的数字。当你在键盘上输入字母“A”时,计算机会查找这个字母对应的数字,然后将这个数字转换成二进制形式进行存储或传输。

字符编码就是一套将字符映射到数字的规则。

Lesson image

UTF-8:通用解决方案

在互联网早期,存在着许多不同的字符编码标准,这导致了一个常见的问题:乱码。如果发送方和接收方使用的“字典”不同,文本就会显示为一堆无意义的符号。

为了解决这个问题,人们创造了 Unicode,这是一个旨在包含世界上所有字符的统一标准。而 UTF-8 则是实现 Unicode 的最流行、最通用的编码方式。

技术基础始于 Unicode (UTF-8) 编码。

UTF-8 的一个绝妙之处在于它是一种可变长度编码。这意味着它会根据字符的不同,使用不同数量的字节来表示。

对于简单的英文字母和数字,它只用 1 个字节,这与传统的 ASCII 编码完全兼容。对于其他语言的字符,如中文、日文或表情符号,它会使用 2 到 4 个字节。

字节数编码范围示例
1 字节基本的拉丁字母、数字A, b, 7, $
2 字节希腊字母、西里尔字母等α, Я, ©
3 字节常见的中、日、韩字符你, 好, こんにちは
4 字节不常用字符和表情符号𠮟, 😂, 🚀

这种设计非常高效。对于以英语为主的文本,文件大小与使用旧编码时差不多。而对于需要表示多种语言的复杂文本,它也能完美胜任,从而使全球范围内的信息交换变得无缝。

理解二进制和 UTF-8 对于我们了解数据在网络上的存储和传输方式至关重要。你发送的每条消息、你浏览的每个网页,都依赖于这些基本概念才能正确显示。

Quiz Questions 1/4

计算机最基础的交流方式是基于什么系统?

Quiz Questions 2/4

一个标准的字节(byte)由8个位(bit)组成,它可以表示多少个不同的值?