如何删除非UTF-8文本文件中的字符(How to remove non UTF-8 charact

2019-06-18 13:49发布

我有一堆被以UTF-8编码的阿拉伯语,英语,俄语文件。 尝试过程中使用Perl脚本这些文件,我得到这个错误:

Malformed UTF-8 character (fatal)

手动检查这些文件的内容,我发现了一些奇怪的字符在其中。 现在我正在寻找一种方法来从文件中自动删除这些字符。

反正有做呢?

Answer 1:

这条命令:

iconv -f utf-8 -t utf-8 -c file.txt

将清理你的UTF-8文件,跳过所有无效字符。

-f is the source format
-t the target format
-c skips any invalid sequence


Answer 2:

您的方法必须按字节读字节,充分理解和欣赏字符的字节明智的建设。 最简单的方法是使用会读什么,但只能输出UTF-8字符的编辑器。 Textpad是一个选择。



Answer 3:

cat foo.txt | strings -n 8 > bar.txt

将做的工作。



文章来源: How to remove non UTF-8 characters from text file