字符集映射表

ICU通过映射表为许多重要代码页提供字符集转换。默认表是IBM的CDRA转换表存储库的子集。我们的 转换器资源管理器显示了内置于标准ICU分发中的默认表的别名和代码页图表。

大多数代码页的转换在不同的平台上实现方式不同。我们在这里提供了许多不同来源的映射表,以便ICU用户和其他人可以使用这些表获得与原始平台上相同的转换行为。

将映射表和一些源代码签入到收集这些表的工具中 https://github.com/unicode-org/icu-data回购。表文件以两种格式提供:

如果要将其中一个表添加到ICU副本中,可以使用 数据自定义ICU用户指南的一节,了解有关此主题的更多信息。

对数据进行一些分析

以下是对我们的一些工具创建的收集的字符集映射信息的分析。的一些别名 UTR#22名称可以在我们的 ICU转换器浏览器和在 ICU别名表.

    • 类似具有相同往返映射的转换表。

    • 相同具有相同往返、回退和反向回退映射的转换表。

    • A详细所有转换表的比较。这是一个非常大的HTML文件。

我们如何收集数据

    • IBM CDRA映射表从CDRA RPMAP/TPMAP/UPMAP(或RXMAP等)文件转换为.ucm文件。

    • 其他平台的.ucm文件是通过使用这些平台的转换服务生成的。

    • .xml文件是从.ucm文件生成的。

关于有状态编码映射表的注释

有两种主要的状态编码类型:

    1. 简单的双状态编码,通常使用SI/SO ISO控制代码更改状态。这些特别用于EBCDIC多字节代码页。

    2. 复杂编码主要遵循ISO 2022模型,该模型使用转义序列、SI/SO控制和单移位码改变状态。

ucm文件格式通过指定代码页结构支持简单的SI/SO状态编码。这两种状态的代码页字节序列长度不同:初始状态的单字节代码和其他状态的双字节代码。

我们目前没有用于更复杂的有状态编码的映射表。我们计划为每个状态提供一个映射表文件,再加上一个列出状态及其调用序列和每状态映射表名称的文件。

当前的.xml文件格式不支持任何有状态编码。

关于GB 18030的说明

在GB 18030标准定义的大量映射(110万)中,只有约31000个映射被明确列出。.xml文件包含<range>元素中的其余映射。ucm文件未分配受影响的字符,并依赖ICU转换器(1.7版及更高版本)以算法方式执行这些映射。

反馈

有关此映射表集合的反馈、意见和问题,请通过发送电子邮件 邮件列表/联系人.