置百丈玄冰而崩裂,掷须臾池水而漂摇。

dicom协议 - 个别标签能否覆盖特定字符集中的字符集(0008,0005)[转]

如果我创建一个带有基本单字节特定字符集的 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/


发表评论:

验证码