Читайте китайские иероглифы в файлах Dicom - PullRequest
0 голосов
/ 22 июля 2011

Я только начал чувствовать стандарт Dicom. Я пытаюсь написать небольшую программу, которая будет читать файл dicom и выводить информацию в текстовый файл. У меня есть набор данных с именами пациентов на китайском языке. Как я могу прочитать и сохранить эти имена?

В настоящее время я читаю имена как Char* из файла dicom, преобразуя это char* в wchar*, используя кодовую страницу "950" для китайского языка, и записывая в текстовый файл. Вместо того, чтобы видеть китайские иероглифы, я вижу * ? и % в моем текстовом файле. Что мне не хватает?

Я работаю в C ++ на Windows.

Ответы [ 2 ]

0 голосов
/ 25 июля 2011

Может быть несколько проблем под рукой.

Во-первых, знаете ли вы кодировку китайского имени, например, Big5 или GB *?См. http://en.wikipedia.org/wiki/Chinese_character_encoding

Во-вторых, знаете ли вы кодировку вашего выходного текстового файла?Если это ASCII, то вы, вероятно, никогда не сможете увидеть китайские иероглифы.В этом случае я бы предложил изменить его на юникод (то есть UTF-8).

Затем, когда вы читаете китайское имя, преобразуйте необработанные байты и запишите результат.Например, если DICOM хранит его в Big5, а ваш текстовый файл - UTF-8, вам понадобится конвертер Big5-> UTF-8.

0 голосов
/ 22 июля 2011

Если текстовый файл содержит UTF-16, включили ли вы спецификацию?

...