计算机中非常基础且重要的概念:字符集(Character Set)与字符编码(Character Encoding),并重点介绍 ASCII 和 GBK。

1. 为什么需要字符集和编码?

要理解这一切,首先要记住一个核心事实:计算机只认识数字0和1

我们人类在屏幕上看到的文字、符号(比如 'A', '好', '!')对计算机来说,本质上都是一串二进制的0和1。那么,如何将人类的字符与计算机的二进制数字对应起来呢?

这就需要一个“翻译”规则。这个规则分为两步:

  1. 字符集 (Character Set):先确定我们要用哪些字符。把所有需要用到的字符(比如所有英文字母、所有汉字、所有标点符号)收集起来,形成一个巨大的集合。这个集合就是“字符集”。
  2. 字符编码 (Character Encoding):为字符集中的每一个字符分配一个唯一的数字编号。这个“编号”的过程就是“编码”。计算机在存储和传输时,实际上操作的是这些数字编号,而不是字符本身。

通常我们把“字符集”和“字符编码”合在一起说,比如我们说“ASCII编码”,其实它既定义了字符的集合,也定义了这些字符对应的编号。


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

ASCII (American Standard Code for Information Interchange) 是计算机世界里最早、最基础的编码规范。

ASCII 的局限性

ASCII 的最大问题在于它只能表示128个字符。这对于英语世界来说是足够的,但对于其他语言,比如中文、法文(带音标的字母)、俄文等,是远远不够的。一个汉字就有成千上万个,ASCII 完全无法表示。


3. GBK (汉字内码扩展规范)

为了解决 ASCII 无法显示中文的问题,中国制定了一系列自己的编码标准,GBK 就是其中最重要和最广泛使用的一个。