Pergunta

É possível usar libxml com unicode?

Por exemplo, a função xmlParseDoc leva uma xmlChar

xmlChar tem a seguinte definição:

typedef unsigned char xmlChar;

Eu gostaria que libxml para interpretar tudo como 2 caracteres de bytes.

Eu tenho um sentimento de que o seguinte não iria funcionar corretamente com o lib:

typedef unsigned short xmlChar;

Nota: Eu não estou falando de quando ele realmente lê / escreve a codificação xml. Sei que suporta Unicode. O que eu quero é que a interface para o lib para estar com strings unicode wstring em vez de strings normais.

Foi útil?

Solução

Eu encontrei a resposta em um ligação fornecido pelo @ Mitch Trigo

Você não pode redefinir xmlChar ser um short sem sinal. No entanto, se você codificar suas cordas como UTF-8, em seguida, xmlChar vai lidar correctamente com unicode.

Você pode converter uma string em janelas para UTF8 via chamando WideCharToMultiByte com um parâmetro de CP_UTF8

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top