如果我创建一个带有基本单字节特定字符集的 DICOM 对象,例如 (0008,0005) = ISO_IR 100,其中一个标签可以使用不同的 2 字节字符集吗?例如患者姓名 (0010,0010) 可以用简体中文编码 (ISO 2022 IR 58) 吗?
最佳答案
简短的回答是否定的。您不能使用特定字符集
中未定义的字符集。
较长的答案:您可以使用多个字符集(Specific Character Set
是多值的),但有一定的限制。多个字符集通过代码扩展实现(在 Chapter 6 of the DICOM Standard 中描述,从 6.1.2.4 开始)。
在您的示例中,您可以使用 特定字符集
值 ISO 2022 IR 100\ISO 2022 IR 58
,它允许同时使用 Latin1 和简体中文(也混合在同一个标签中,这在具有表示 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。
关于dicom - 个别标签能否覆盖特定字符集中的字符集(0008,0005),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61780710/