【发布时间】:2019-09-11 15:55:12
【问题描述】:
我使用 libxml2 (http://www.xmlsoft.org/) 在我的 Delphi 代码中读取/写入 xml 文件。 libxml2 对所有字符串使用 UTF-8 编码。
例如函数xmlsavefile在libxml2中定义为
int xmlSaveFile (const char * filename, xmlDocPtr cur)
在 libxml2 Delphi 绑定中这个函数被翻译成
const LIBXML2_SO = 'libxml2-2.dll';
function xmlSaveFile(const FileName: PChar; cur: xmlDocPtr) : Longint; cdecl; external LIBXML2_SO;
这个函数可以作为
var FileName : string;
xmlSaveFile(PChar(Utf8Encode(FileName)), doc);
这似乎没有任何问题,并且已经用包括中文在内的各种语言进行了测试。但是,我收到编译器警告
RawByteString 到 PWideChar 的可疑类型转换
由于一切正常,我倾向于忽略此警告。尽管如此,
- 我可以去掉这个警告吗?
- 我必须预料到任何问题吗?
【问题讨论】:
标签: delphi utf-8 libxml2 delphi-xe5