Libxml2

来源:互联网 发布:韩顺平php百度云2016 编辑:程序博客网 时间:2024/05/16 16:04

Libxml2 是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的免费开源软件。它除了支持c语言版以外,还支持c++、PHP、Pascal、Ruby、Tcl等语言的绑定,能在Windows、Linux、Solaris、MacOsX等平台上运行。功能还是相当强大的,相信满足一般用户需求没有任何问题。


参考其Makefile.am文件,其编译为静态库形式,且依赖一下库文件:

libxml2_la_LIBADD = $(ICU_LIBS) $(THREAD_LIBS) $(Z_LIBS) $(LZMA_LIBS) $(ICONV_LIBS) $(M_LIBS) $(WIN32_EXTRA_LIBADD)

ICU(International Component for Unicode) 是 IBM 与开源组织合作研究 , 基于 "IBM 公共许可证 " 的用于支持软件国际化的开源项目。 ICU 实现了对数字、日期、货币等提供国际化支持,提供了强大的 BIDI 算法,对阿拉伯语和希伯来语等 BiDi 语言提供了完善的支持。 ICU 分为 ICU4J 和 ICU4C,分别对应 Java 和 c/c++ 平台。 ICU4J 被 Sun 的 JDK1.1 采用并随 JDK 版本更新。最新的 ICU4J 库可以从 http://icu-project.org/ 网站上下载。


iconv是一个计算机程序以及一套应用程序编程接口的名称。它的作用是在多种国际编码格式之间进行文本内码的转换。目前版本为 2.3.26,支持的内码包括:

  • Unicode相 关编码,如UTF-8、UTF-16等等
  • 各国采用的ANSI编码,其中包括GB2312、BIG5等中文编码方式。

作为应用程序的iconv采用命令行界面,允许将某种特定编码的文件转换为另一种编码。

作为编程接口的iconv包括3个函数:

  • iconv_open函数用于初始化用于转换的内部缓冲区,需要指明需要从何种编码方式转换到哪一种。
  • iconv函数进行实际的转换,需要给出两个间接缓冲区指针和剩余字节数指针。该函数需要更新所有相关信息,因此将不可改写的指针传递给 iconv是错误的。
  • iconv_close函数释放iconv_open函数的缓冲区。

iconv基于GPL公开源代码,是GNU项目的一部分。在各种UNIX操作系统下均可使用, 而在Windows系统,需要特殊的环境如cygwin或者GnuWin32等软件平台下方可使用。现在在SourceForge上 也有运行于Windows系统的,需要同时安装gettext程序。



如xmlSAXUserParseFile:

---------------- 在freedimeter的freeDiameter-1.2.0\extensions\dict_legacy_xml中有用到。

0 0
原创粉丝点击