ISO 4873

来自GSXAB的知识库
ISO4873
术语名称 ISO4873
英语名称 ISO4873


ISO/IEC 4873 是一种关于在 8 位字节环境中使用的字符编码的结构规则,被 ISO 2022 及多数同期标准遵守。 ISO 4873 规定了一种兼容 ISO 646 的八位字符集范围划分,定义了如 C0 、 C1 、 G0 、 G1 等符号的所指范围。

初版于 1979 年修订于 1986 年和 1991 年,是 ISO 与 IEC 的标准。

主要内容

由于网络缺少文章细节信息和 wikipedia 数据,以下信息拼凑自预览文件[1]及 Suikawiki [2]

一种八位交换码包括以下几部分:

  • C0 集:由 0x00-1F 表示的至多 30 个控制字符,不计禁止使用的 0x0E LS1 和 0x0F LS0 。
  • 空格 SPACE :由 0x20 表示的图形字符。
  • G0 集:由 0x20-7E 表示的 94 个图形字符。
  • 删除字符 DELETE :由 0x7F 表示的字符。
  • C1 集:由 0x80-9F 表示的至多 32 个控制字符。
  • G1 集:由 0xA0-FF 表示的至多 96 个图形字符。
  • G2 集:至多 96 个图形字符。
  • G3 集:至多 96 个图形字符。

除了 C0 、 G0 、 C1 、 G1 在识别出对应范围内的字符即使用外, G2 和 G3 需要分别通过 SS2 或 LS2R 、 SS3 或 LS3R 等控制字符及控制字符序列使用。

如转义字符、回车字符等,由于有特殊控制能力,禁止在组合字符中使用。因此规定了相关几个集合的详情。

  • C0 集: 1979 版规定为 ISO 646 中的前 32 个控制字符。 1986 版开始规定为除禁止使用 0x0E LS1 和 0x0F LS0 ,0x1E 固定为 ESCAPE 外,可以随意分配。
  • G0 与 ISO 646-IRV 相同(没有直接引用而是重复了一次码表)。
  • C1 集:在会使用 SS2 和 SS3 两个转义字符时,必须将其分配在 0x8E SS2 和 0x8F SS3 两个位置。(刚好也对应换档的 LS0 LS1 两个字符)
  • G2 G3 在 1986 版追加

为了避免来自多种编码的集合冲突,相同名称的字符只能使用 G 后序号最小的码位。

根据是否使用额外的字符集,分为不同的实现水平,分配 0x41-43 按照 ISO 2022 的方式使用来区分。


常见字符编码
早期编码 电报码、 BCD 码BCDICEBCDIC)、ASCIIISO 646
ISO 8859 ISO 8859-1 、 ISO 8859-2 、……
国标系列 IBM 代码页 936 / GB 2312微软代码页 936 / GBK微软代码页 54936 / GB 18030
Unicode / ISO 10646 UTF-7 、 UTF-8UTF-16UTF-32