0
我正在使用libxml2。所有函数都使用xmlChar *。我发现xmlChar是一个无符号的字符。libxml2关于xmlChar的问题*
所以我有一些关于如何使用它的问题。 1)例如,如果我使用utf-16或utf-32文件处理libxml2如何处理它并返回函数中的xmlChar?我会失去一些字符吗? 2)如果我想对这个字符串做些什么,我应该把它转换为char *还是wchar_t *以及如何?
我会失去一些人物吗?
谢谢,但现在我还有一些问题:它现在如何工作?因为即使我提供了一个utf-16文件。 Libxml仍然释放unsigned char *。为什么以及它如何工作?第二个是我如何将UTF32或UTF16转换为UTF-8。我不想使用一些第三方库。我需要在unix下做。我知道windows有函数WideCharToMutliByte做unix有这样的事情吗?最后一个问题是如何将xmlchar转换为其他编码和哪一个? – Nikita 2010-09-24 12:35:46
是的。 API正在做一些内部转换。所有CALL都是基于xmlChar的,即使您用来解析XML的FILES或NETWORK Feed是以不同的字符集编码的。在UNIX中,使用LIBICONV。这是一个相当常见的库,如果我正确记得它已经捆绑了LIBXML2。要将xmlChar转换为其他编码,请再次使用LIBICONV。 Redards ... – 2010-09-24 12:44:00
还有一个问题。为什么你说我应该先将UTF-16编码到libxml之前编码。我只是试图做到不转换,然后我将xmlCheckUTF8函数应用于从lib xml发布的每个元素,并且没问题。我猜这个unsigned char *只是一个字节数...... – Nikita 2010-09-24 13:40:51