iconv转换出现“非法输入序列”的问题

简介: iconv转换出现“非法输入序列”的问题

1.简介

iconv命令是用来转换文件的编码方式,比如它可以将UTF8编码的转换成GB18030的编码。Linux下的iconv开发库包括iconv_open,iconv_close,iconv等C函数(非标准库函数),可以用来在C/C++程序中很方便的转换字符编码。

2.命令格式

iconv -f [encoding] -t [encoding] inputfile

3.命令选项说明

iconv命令将给定编码的文件,转换为指定编码的内容,结果默认输出到标准输出,可以使用--output-o输出到指定文件。

-c : 静默丢弃不能识别的字符,而不是终止转换。
-f,--from-code=[encoding]:指定待转换文件的编码。
-t,--to-code=[encoding]:指定目标编码。
-l,--list:列出已知的字符编码。
-o,--output=[file] :列出指定输出文件,而非默认输出到标准输出。
-s,--silent:关闭警告。
--verbose:显示进度信息。
-?, --help:显示帮助信息。
--usage:显示简要使用方法。
-V,--version:显示版本信息。

-f和-t所能指定的合法编码可以在-l选项的结果中查看。

4.常用示例

(1)将GBK文件转换为UTF8文件。

iconv -f gbk -t utf8 inputFile.txt -o outputFile.txt.utf8

(2)转换时报如下错误:”iconv: 未知 126590 处的非法输入序列”。此时使用-c选项。

iconv -c -f gbk -t utf8 inputFile.txt -o outputFile.txt.utf8


相关文章
|
6月前
43.编写一个程序,判断用户输入的字符是否是数字,若是数字,则输出“a numerical character”
43.编写一个程序,判断用户输入的字符是否是数字,若是数字,则输出“a numerical character”
46 3
|
6月前
53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”
53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”
50 0
|
6月前
输入一个字符串,统计其中字符A的数量并且输出,输入共有一行,为一个不带空格的字符串(其中字符数不超过100),输出一行,包含一个整数,为输入字符串中的A的数量
输入一个字符串,统计其中字符A的数量并且输出,输入共有一行,为一个不带空格的字符串(其中字符数不超过100),输出一行,包含一个整数,为输入字符串中的A的数量
|
11月前
|
BI
输入正整数 转化为 二进制数输出
输入正整数 转化为 二进制数输出
107 0
|
C++
c++输出字符串
c++输出字符串
105 1
|
JavaScript PHP 数据安全/隐私保护
解决php中字符串输出一样但比较不相等(编码不同导致长度不一样)
解决php中字符串输出一样但比较不相等(编码不同导致长度不一样)
143 0
|
Python
Python 读取记事本中的字符长度与输入的字符长度不一致
Python 读取记事本中的字符长度与输入的字符长度不一致
105 0
|
存储 C++
字符串的的存储与输入问题
字符串的的存储与输入问题
字符串的的存储与输入问题