如果我创建一个具有基本单字节特定字符集(如 (0008,0005) = ISO_IR 100)的 DICOM 对象,其中一个标签可以使用不同的 2 字节字符集吗?例如,患者姓名 (0010,0010) 可以用简体中文 (ISO 2022 IR 58) 编码吗?
1 回答
简短的回答是不。您不能使用未定义的字符集Specific Character Set
。
更长的答案:您可以使用多个字符集(Specific Character Set
是多值的),但存在某些限制。多个字符集通过代码扩展实现(在DICOM 标准的第 6 章中描述,从 6.1.2.4 开始)。
在您的示例中,您可以使用Specific Character Set
value ISO 2022 IR 100\ISO 2022 IR 58
,它允许同时使用 Latin1 和简体中文(也混合在同一个标签中,这在具有 representation 的标签中很常见PN
)。通过使用由 ISO 2022 标准定义的特定转义序列来更改编码。常见的 DICOM 框架应该能够自动处理这个(尽管你必须为你的框架检查这个)。
请注意,您必须使用ISO 2022 IR 100
而不是ISO_IR 100
- 只有 ISO 2022 代码可用于多值字符集中。
另请注意,中文字符集 ( GB18030
) 和 UTF8 字符集 ( ISO_IR 192
) 不能与其他编码一起使用。
如果您不想处理多种编码,您可以改用 UTF8 编码(例如设置Specific Character Set
为ISO_IR 192
)。请注意,在这种情况下,您必须将数据集中的所有非 ASCII 标记值转换为 UTF8。