现在我有一些 euc-jp 编码的文件需要转换为 utf-8 编码。
所以我在 bash 中使用 iconv 命令:
iconv foo.c -f euc-jp -t utf-8 -o foo.c
但是出现了一个问题,它说:
/ usr / bin / iconv:位置30211处的非法输入序列
并且文件被截断到一定大小(32 ~ 33KB)。
但令人困惑的是,如果我使用
iconv foo.c -f euc-jp -t utf-8 # output to STDOUT
iconv foo.c -f euc-jp -t utf-8 -o foo.c.utf8 # output to a new file
它工作得很好。
所以我想这可能与 BUFFER 有关,有人可以向我解释一下吗?
在没有同步的情况下读取和写入同一文件?不,这不是一个好主意。文件就会变得混乱。
为了不损害数据并且不产生垃圾,请尝试以下操作:
cp foo.c temp.input; iconv temp.input -f euc-jp -t utf-8 -o foo.c;rm temp.input;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)