扩展 UNIX 代码 (EUC) 编码方案

EUC 编码方案定义了一组可支持 1 到 4 个字符集的编码规则。 这些编码规则基于针对 7 位和 8 位数据编码的 ISO2022 定义。 EUC 编码方案使用控制字符来标识某些字符集。 下表显示了所有 EUC 编码的基本结构。

EUC 字符编码
CS0 0xxxxxxx
CS1
1xxxxxxx
1xxxxxxx 1xxxxxxxx
1xxxxxxx 1xxxxxxxx 1xxxxxxx
...
CS2
10001110 1xxxxxxx
10001110 1xxxxxxx 1xxxxxxxx
10001110 1xxxxxxx 1xxxxxxxx 1xxxxxxxx
...
CS3
10001111 1xxxxxxx
10001111 1xxxxxxx 1xxxxxxxx
10001111 1xxxxxxx 1xxxxxxxx 1xxxxxxxx
...

术语 EUC 特指这些通用编码规则。 基于 EUC 的代码集符合 EUC 编码规则,但同时也标识了与特定实例相关的特定字符集。 例如,针对日语的 IBM-eucJP 是指依照 EUC 编码规则的日本工业标准字符编码。

第一集合(CS0)总是含有一个 ISO646 字符集。 所有其他集合必须将“最高有效位”(most significant bit,MSB)设为 1,并且可使用任意数量的字节来编码字符。 此外,一个集合中的所有字符必须具有以下几点:

  • 用来编码所有字符的字节数都相同
  • 列显示宽度(固定宽度终端上的列数)都相同

第三集合(CS2)中的所有字符前面总是带有控制字符 SS2(单移 2,0x8e)。 符合 EUC 的代码集仅将 SS2 控制字符用于标识第三集合。

第四集合(CS3)中的所有字符前面总是带有控制字符 SS3(单移 3,3x8ef)。 符合 EUC 的代码集仅将 SS3 控制字符用于标识第四集合。