使用dcm4che3解析DICOM中,中文乱码问题

来源:互联网 发布:淘宝客服怎么拿提成 编辑:程序博客网 时间:2024/04/30 12:23

此前在使用dcm4che3解析DICOM图片时,发现国内的图片中有涉及到中文的都显示乱码。

PatientName=????°?PatientName=???×??????????

然后用网上的一些使用比较多的DICOM看图软件(Sante DICOM Editor 5 )打开:这里写图片描述

可以看到病人姓名以及机构名称依旧是乱码。

在网上找了一些资料应该是特殊字符集的问题。查看DICOM协议有有一段是这么来写的:

For Data Elements with Value Representations of SH (Short String), LO (Long String), UC (Unlimited Characters), ST (Short Text),​LT (Long Text), UT (Unlimited Text) or PN (Person Name), the default character repertoire or the character repertoire specified by​value 1 of Attribute Specific Character Set (0008,0005), may be extended using the Code Extension techniques specified by ISO/IEC​2022:1994.

大意是数据元素的值表示为:SH、LO、UC、ST、LT、UT、PN时,采用默认字符集或者特殊字符集来解码。也就是说病人名和机构名的解码受特殊字符集影响。

下一步查看特殊字符集

SpecificCharacterSet=ISO_IR 100

那就改一下特殊字符集改为GB18030:

SpecificCharacterSet=GB18030PatientName=李老板PatientName=XXX中心医院

机构名不方便公布,但是中文解析是OK的。

后面又试了几个编码格式只有GB18030和GBK可以解析出来

到这里dcm4che3解析中文乱码的问题算是解决了,但是问题没有完全弄懂。

在SpecificCharacterSet=ISO_IR 100的情况下使用DICOM VIEW程序来看是可以正确解码的,用公司的dicom软件来看也可以真确解码。但是用MEDISP DICOM Viewer,Sante DICOM Editor 5,PmsDView都是乱码。

虽然问题解决了,但是心中依然有些许困惑。有相同问题的同学欢迎一起探讨。

0 0
原创粉丝点击