开源编码转换库libiconv
来源:互联网 发布:迅雷网络传奇霸业 编辑:程序博客网 时间:2024/06/07 05:28
libiconv
目 录
1libiconv历史简介
由于历史原因,国际化的文字常常由于语言或者国家的原因使用不同的编码。随着互联网时代的到来,通过互联网进行文字交流也逐渐增多:浏览外国的网站,这个时候字符编码的转换变得尤为重要。这带来了一个问题,就是许多字符在某一种编码方式中没有。为了解决这种混乱,Unicode的编码方式被建立。Unicode是一种超级编码包含了所有这些编码的字符集,因此一些新的文本格式像XML的默认编码方式就是Unicode.
但是很多老式的计算机还在使用当地的传统的字符编码方式。而一些程序,例如邮件程序和浏览器必须能在这些不同的用户编码之间作转换。其他的一些程序则内置支持Unicode,以顺利支持国际化的处理,但是仍然有在Unicode和其他的传统编码之间转换的需求。GNU的libiconv就是为这两种应用设计的编码转换库。
2libiconv编码简介
libiconv库[1]为需要做转换的应用提供了一个iconv()的函数,以实现一个字符编码到另一个字符编码的转换。
包括的编码有:
欧洲语系ASCII,
ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16},
KOI8-R, KOI8-U, KOI8-RU,
CP{1250,1251,1252,1253,1254,1257},
CP{850,866},
Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
Mac{Cyrillic,Ukraine,Greek,Turkish},
Macintosh
犹太语系ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}日文EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1中文EUC-CN, HZ, GBK, GB18030,EUC-TW, BIG5, CP950, BIG5-HKSCS, ISO-2022-CN, ISO-2022-CN-EXT朝鲜文EUC-KR, CP949, ISO-2022-KR, JOHAB亚美尼亚语ARMSCII-8格鲁尼亚语Georgian-Academy, Georgian-PS塔吉克语KOI8-T泰国语TIS-620, CP874, MacThai老挝语MuleLao-1, CP1133越南语VISCII, TCVN, CP1258特殊平台HP-ROMAN8, NEXTSTEP全部UnicodeUTF-8, UTF-7
UCS-2, UCS-2BE, UCS-2LE, UCS-4, UCS-4BE, UCS-4LE
UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE
C99, JAVA
全部Unicode,在uint16_t或uint32_t方面(使用机器相关的字节序和对齐方式):
UCS-2-INTERNAL, UCS-4-INTERNAL
本地依赖,在'char'或'wchar_t'方面(使用机器相关的字节序和对齐方式,以及系统和区域相关的语义):
char, wchar_t
空的编码名""等同于"char",它表示与区域相关的字符编码
当使用了--enable-extra-encodings设置选项,将额外提供对少量编码的支持:
UCS-2-INTERNAL, UCS-4-INTERNAL
本地依赖,在'char'或'wchar_t'方面(使用机器相关的字节序和对齐方式,以及系统和区域相关的语义):
char, wchar_t
空的编码名""等同于"char",它表示与区域相关的字符编码
当使用了--enable-extra-encodings设置选项,将额外提供对少量编码的支持:
欧洲语系
CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
犹太语系
CP864
日语
EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
土库曼语
TDS565
特殊平台
RISCOS-LATIN1
通过将Unicode作为 中间编码,所有编码之间都可以相互转换。
并且也在直译上提供了有限的支持。就是说,当一个字符在目标的编码里没有的对应字符的时候,转换程序会自动从一个或多个看起来相似的字符中选择一个。目标编码名前面加上“//TRANSLIT”即可使用直译功能。
libiconv在系统缺少多种多样的字符编码支持时,提供这样方面的支持,
并且也在直译上提供了有限的支持。就是说,当一个字符在目标的编码里没有的对应字符的时候,转换程序会自动从一个或多个看起来相似的字符中选择一个。目标编码名前面加上“//TRANSLIT”即可使用直译功能。
libiconv在系统缺少多种多样的字符编码支持时,提供这样方面的支持,
- 开源编码转换库libiconv
- GNU libiconv 编码转换库
- 字符编码转换libiconv库
- 嵌入式 字符编码转换libiconv库
- 嵌入式 安装 字符编码转换 libiconv库
- [C/C++]_[使用libiconv库转换字符编码]
- GNU-libiconv编码转换库的使用举例
- 通过libiconv实现文字编码转换
- arm移植libiconv(字符编码转换)
- libiconv字符集转换库使用方法
- libiconv字符集转换库使用方法
- libiconv字符集转换库使用方法
- 使用libiconv库处理linux下字符编码转换的问题
- 使用libiconv库,解决多语言编码处理转换等应用问题
- libiconv 支持的编码
- libIconv.lib编码库的生成和使用
- libIconv.lib编码库的生成和使用(2)
- 解决由于libiconv库无法编码通过的问题
- 自娱自乐10之Linux DMA使用2(DMA使用实例,用timer作DMA请求源实现流水灯)
- utf8与ucs2编码互转及原理
- 例外 Exceptions
- VS2010中没有ado.net entity data model实体数据模型这一选项-解决办法
- JSP跳转的方式
- 开源编码转换库libiconv
- EasyUI+Struts2整合KindEditor
- Paip. DDBS 分布式 数据库系统 attilax总结C0G
- 甘肃农业大学CSDN高校俱乐部策划书
- JSF-IDE(eclipse插件)比较 .
- Java 语句
- java加密算法简介
- jsp的application对象
- 字符串的四则运算