Pregunta

¿Es posible usar libxml con Unicode?

Por ejemplo, la función xmlParseDoc toma un xmlChar

xmlChar tiene la siguiente definición:

typedef unsigned char xmlChar;

Me gustaría que libxml interprete todo como caracteres de 2 bytes.

Tengo la sensación de que lo siguiente no funcionaría correctamente con la lib:

typedef unsigned short xmlChar;

Nota: No estoy hablando de cuándo realmente lee / escribe la codificación xml. Sé que es compatible con Unicode. Lo que quiero es que la interfaz en la biblioteca esté con cadenas unicode wstring en lugar de cadenas normales.

¿Fue útil?

Solución

Encontré la respuesta en un enlace proporcionado por @Mitch Wheat

No puede redefinir xmlchar para que sea un corto sin signo. Sin embargo, si codifica sus cadenas como UTF-8, entonces xmlChar manejará correctamente unicode.

Puede convertir una cadena en Windows a UTF8 llamando a WideCharToMultiByte con un parámetro de CP_UTF8

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top