使用dcm4che3解析DICOM中,中文亂碼問題

此前在使用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=GB18030
PatientName=李老闆
PatientName=XXX中心醫院

機構名不方便公佈,但是中文解析是OK的。

後面又試了幾個編碼格式只有GB18030和GBK可以解析出來

到這裏dcm4che3解析中文亂碼的問題算是解決了,但是問題沒有完全弄懂。

在SpecificCharacterSet=ISO_IR 100的情況下使用DICOM VIEW程序來看是可以正確解碼的,用公司的dicom軟件來看也可以真確解碼。但是用MEDISP DICOM Viewer,Sante DICOM Editor 5,PmsDView都是亂碼。

雖然問題解決了,但是心中依然有些許困惑。有相同問題的同學歡迎一起探討。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章