문제

유니 코드와 함께 libxml을 사용할 수 있습니까?

예를 들어 XMLPARSEDOC 함수는 XMLCHAR을 사용합니다

XMLCHAR에는 다음과 같은 정의가 있습니다.

typedef unsigned char xmlChar;

libxml이 모두 2 바이트 숯으로 해석하고 싶습니다.

나는 다음이 lib에서 제대로 작동하지 않을 것이라고 생각합니다.

typedef unsigned short xmlChar;

참고 : XML 인코딩을 실제로 읽거나 쓸 때 나는 이야기하지 않습니다. 나는 그것이 유니 코드를 지원한다는 것을 알고 있습니다. 내가 원하는 것은 LIB 로의 인터페이스가 정상 문자열 대신 유니 코드 문자열 WSTRING과 함께하는 것입니다.

도움이 되었습니까?

해결책

나는 a에서 답을 찾았다 링크 @Mitch Wheat가 제공합니다

서명되지 않은 짧은 XMLCHAR을 다시 정의 할 수는 없습니다. 그러나 문자열을 UTF-8으로 인코딩하면 XMLCHAR가 유니 코드를 올바르게 처리합니다.

CP_UTF8의 매개 변수로 WideChartomultibyte를 호출하여 Windows의 문자열을 UTF8로 변환 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top