这不是一个真正的编程问题,是否有命令行或Windows工具(Windows 7)来获取文本文件的当前编码?当然,我可以写一个小c#应用程序,但我想知道是否有一些已经内置?


当前回答

如果你的Windows机器上有“git”或“Cygwin”,然后转到文件所在的文件夹并执行命令:

file *

这将为您提供该文件夹中所有文件的编码细节。

其他回答

我发现另一个有用的工具是:https://archive.codeplex.com/?p=encodingchecker EXE可以在这里找到

我发现做到这一点的唯一方法是VIM或notepad++。

使用Windows自带的普通记事本打开文件。 当你点击“另存为…”时,它会显示文件的编码。 它看起来是这样的:

无论默认选择的编码是什么,这就是文件的当前编码。 如果它是UTF-8,您可以将其更改为ANSI并单击保存以更改编码(或visa-反之)。

我知道有许多不同类型的编码,但当我被告知我们的导出文件是UTF-8,他们需要ANSI时,这就是我所需要的。这是一个一次性的输出,所以记事本适合我。

供参考:根据我的理解,我认为“Unicode”(如在记事本中列出的)是UTF-16的虚名。 更多关于记事本的“Unicode”选项:Windows 7 - UTF-8和Unicdoe

如果你的Windows机器上有“git”或“Cygwin”,然后转到文件所在的文件夹并执行命令:

file *

这将为您提供该文件夹中所有文件的编码细节。

类似于上面用记事本列出的解决方案,如果你正在使用Visual Studio,你也可以在Visual Studio中打开文件。在Visual Studio中,您可以选择“File > Advanced Save Options…”

“Encoding:”组合框将明确地告诉您当前文件使用的是哪种编码。它比记事本列出了更多的文本编码,所以它在处理来自世界各地的各种文件时很有用。

就像记事本一样,你也可以从选项列表中更改编码,然后在点击“确定”后保存文件。你也可以通过Save As对话框中的“Save with encoding…”选项来选择你想要的编码(通过单击Save按钮旁边的箭头)。