1

Unicodeでlibxmlを使用することは可能ですか?

たとえば、xmlParseDoc関数はxmlCharを取ります

xmlCharの定義は次のとおりです。

typedef unsigned char xmlChar;

libxmlですべてを2バイト文字として解釈したいと思います。

私は以下がlibで正しく動作しないだろうと感じています:

typedef unsigned short xmlChar;

注:実際にxmlエンコーディングを読み書きするのはいつかについては話していません。私はそれがユニコードをサポートしていることを知っています。私が欲しいのは、libへのインターフェースが通常の文字列ではなくUnicode文字列wstringを使用することです。

4

1 に答える 1

4

@Mitch Wheatが提供するリンクで答えを見つけました

xmlchar を unsigned short に再定義することはできません。ただし、文字列を UTF-8 としてエンコードすると、xmlChar は Unicode を適切に処理します。

CP_UTF8 のパラメーターを指定して WideCharToMultiByte を呼び出すことにより、Windows の文字列を UTF8 に変換できます。

于 2009-01-02T01:52:51.833 に答える