在Linux系统下利用iconv命令进行GBK与UTF-8字符编码间的转换
GBK编码和UTF-8编码的区别:
1.GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其两个字节的最高位都定成1。
UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。英文字符较多的内容使用UTF-8进行编码可以节省空间。
2.GBK包含全部中文字符,UTF-8则包含全世界所有国家需要用到的字符。
iconv命令用于转换指定文件的编码,默认输出到标准输出设备,亦可指定输出文件。
在转换的时候是根据当前系统提供的字符编码进行转换,首先要保证系统具有需要转换的编码,这样才能正确实现转换的过程。
用法: iconv [选项...] [文件...]
有如下选项可用:
输入/输出格式规范:
-f, –from-code=名称 原始文本编码
-t, –to-code=名称 输出编码
列举出当前系统所包含的字符集信息:
-l, –list 列举所有已知的字符集
输出控制:
-c 从输出中忽略无效的字符
-o, –output=FILE 输出文件
-s, –silent 关闭警告
–verbose 打印进度信息
-?, –help 给出该系统求助列表
–usage 给出简要的用法信息
-V, –version 打印程序版本号
使用例子:
iconv -f gbk18030 -t utf-8 gbk_file > utf_file
这个命令读取gbk_file文件,对照系统中提供的字符集,将gbk18030编码转换为utf-8编码,其输出定向到utf_file文件。
http://blog.163.com/qj_l12@126/blog/static/35930826200946105829314/
七月 23rd, 2010 at 3:37 上午 #问道推广员
有意思。