关于 xmlChar* 的 libxml2 问题
我正在使用 libxml2。所有功能都与 xmlChar* 一起使用。我发现 xmlChar 是一个无符号字符。
所以我对如何使用它有一些疑问。
1)例如,如果我使用 utf-16 或 utf-32 文件,libxml2 如何处理它并在函数中返回 xmlChar?那我会失去一些角色吗?
2)如果我想对这个字符串执行某些操作,我应该将其转换为 char* 或 wchar_t* 以及如何转换?
我会失去一些角色吗?
I'm using libxml2. All function are working with xmlChar*. I found that xmlChar is an unsigned char.
So I have some questions about how to work with it.
1) For example if I working with utf-16 or utf-32 file how libxml2 process it and returns xmlChar in function? Will I lose some characters then??
2) If I want to do something with this string, should I cast it to char* or wchar_t* and how??
Will I lose some characters?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
xmlChar
用于仅处理UTF-8
编码。因此,回答您的问题:
不,如果使用
UTF-16
或UTF-32
,您不会丢失任何字符。只需使用 iconv 或任何其他库来编码您的UTF-16
或UTF-32
数据,然后再将其传递给 API。不要只是“转换”字符串。如果需要的话,将它们转换为其他编码。
xmlChar
is for handlingUTF-8
encoding only.So, to answer your questions:
No, you won't loose any characters if using
UTF-16
orUTF-32
. Just use iconv or any other library to encode yourUTF-16
orUTF-32
data before passing it to the API.Do not just "cast" the string. Convert them if needed in some other encoding.