如何查找具有给定字符编码的文件?

如何查找具有给定字符编码的文件?

我使用的是 Windows XP。我正在寻找一种工具,它可以在给定的目录中查找所有具有特定字符编码(如 UTF-8)的文件。您知道这样的工具吗?

答案1

这个工具很好用。试试看。它显示文件夹中的所有文件及其编码。

http://encodingchecker.codeplex.com/releases/view/59420

还有这个,用于批量将文件更改为 UTF8。

http://www.rotatingscrew.com/utfcast.aspx

答案2

一般情况下这是不可能的 - 除了带有字节顺序标记的 UTF-8 文本文件的特殊情况。由于编码名称未存储在文本文件中,因此区分 CP437 和 CP850 的唯一方法是根据对整个文件的统计分析进行猜测,查看某些字符对的频率等。

Solaris 用户有自动执行但据我所知,没有 Windows 端口。

Perl 用户有编码::猜测

根据维基百科“较新版本的 unix File 命令尝试对字符编码进行基本检测。(在 cygwin 和 mac 上也可用)”

以上任何一种方法都不是 100% 可靠的。如果您的文件确实全部采用少数几种已知编码之一,那么您可以做得更好。

答案3

在 Windows 下,可以通过搜索正确的字节顺序标记 (BOM),前提是文件是使用 BOM 创建的。

您需要一个搜索程序来实现这一点。
一种可能的情况是用于 Windows 的 Grep并使用文件开头运算符(^^)进行搜索。

相关内容