Вопрос

Можно ли использовать libxml с unicode?

Например, функция xmlParseDoc принимает xmlChar

xmlChar имеет следующее определение:

typedef unsigned char xmlChar;

Я бы хотел, чтобы libxml интерпретировал все как 2-байтовые символы.

У меня есть ощущение, что следующее не будет работать должным образом с библиотекой:

typedef unsigned short xmlChar;

Примечание:Я не говорю о том, когда он на самом деле считывает / записывает XML-кодировку.Я знаю, что это поддерживает unicode.Что я хочу, так это чтобы интерфейс в lib был со строками unicode wstring вместо обычных строк.

Это было полезно?

Решение

Я нашел ответ в Ссылка предоставлено @Mitch Wheat

Вы не можете переопределить xmlchar как короткое значение без знака.Однако, если вы закодируете свои строки как UTF-8, то xmlChar будет правильно обрабатывать unicode.

Вы можете преобразовать строку в Windows в UTF8, вызвав WideCharToMultiByte с параметром CP_UTF8

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top