gpt4 book ai didi

c - 为什么 iconv 命令输出到同一个文件被截断?

转载 作者:IT王子 更新时间:2023-10-29 00:58:01 26 4
gpt4 key购买 nike

现在我有一些 euc-jp 编码的文件需要转换为 utf-8 编码。所以我在 bash 中使用 iconv 命令:

iconv foo.c -f euc-jp -t utf-8 -o foo.c

但是出现了一个问题,它说:

/usr/bin/iconv: illegal input sequence at position 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;

关于c - 为什么 iconv 命令输出到同一个文件被截断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17872302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com