
这玩意的故事就很好玩了
ECMA 在 1974 年搞了个规范叫 ECMA-35,这是个 7 位的编码框架。它的编码空间可以定义 2 组 32 字的控制块(Control Block)以及 4 组图形块。每个图形块中可以包含 94(或 96——算空格和 DEL 的话)。70 年代后期的一批 94×94 的码表(JIS-X-0208、GB-2312……)就是这么给搞出来的:把一个图形块定义成两个字节表示一个字就行了。ECMA-35 的 7 位表示中,当前字节表示哪个图形块是使用转义序列切换的。
而 ECMA-35 同时也定义了 8 位的编码方案,在 8 位的方案中:
然后我不是说 GB-2312 的码表是 94×94 的么?没错,这个 94×94 的码表刚好可以放在一个图形块 G1 里(双字节),而 G0 则和 ASCII 一致。8 位字节的话连转义序列都省了。
这就是 0xA0 的来历。
