这不是一个真正的编程问题,是否有命令行或Windows工具(Windows 7)来获取文本文件的当前编码?当然,我可以写一个小c#应用程序,但我想知道是否有一些已经内置?
当前回答
我发现做到这一点的唯一方法是VIM或notepad++。
其他回答
我发现做到这一点的唯一方法是VIM或notepad++。
您可以在文件位置上打开git bash,然后运行命令file -i file_name来检查
例子
user filesData
$ file -i data.csv
data.csv: text/csv; charset=utf-8
我写了第4个答案(在写作的时候)。但最近我在所有电脑上都安装了git,所以现在我使用@Sybren的解决方案。这是一个新的答案,使解决方案方便从powershell(没有把所有的git/usr/bin在PATH,这是太多的混乱对我来说)。
将此添加到您的配置文件中。
$global:gitbin = 'C:\Program Files\Git\usr\bin'
Set-Alias file.exe $gitbin\file.exe
并使用类似:file.exe——mime-encoding *。必须在命令中包含.exe,才能使PS别名正常工作。
但如果您不自定义PowerShell配置文件。ps1我建议你从我的开始:https://gist.github.com/yzorg/8215221/8e38fd722a3dfc526bbe4668d1f3b08eb7c08be0 并保存到~\Documents\WindowsPowerShell。在没有git的计算机上使用它是安全的,但如果找不到git,则会编写警告。
命令中的.exe也是我如何使用powershell中的C:\WINDOWS\system32\where.exe;和许多其他操作系统CLI命令是“默认隐藏”的powershell, *耸肩*。
EncodingChecker
文件编码检查器是一个GUI工具,允许您验证一个或多个文件的文本编码。该工具可以显示所有选定文件的编码,或者仅显示不具有指定编码的文件的编码。
文件编码检查程序需要。net 4或更高版本才能运行。
寻找一个Node.js/npm解决方案?试试encoding-checker:
npm install -g encoding-checker
使用
Usage: encoding-checker [-p pattern] [-i encoding] [-v]
Options:
--help Show help [boolean]
--version Show version number [boolean]
--pattern, -p, -d [default: "*"]
--ignore-encoding, -i [default: ""]
--verbose, -v [default: false]
例子
获取当前目录下所有文件的编码:
encoding-checker
返回当前目录下所有md文件的编码:
encoding-checker -p "*.md"
获取当前目录及其子文件夹中所有文件的编码(对于巨大的文件夹将需要相当长的时间;看似无响应):
encoding-checker -p "**"
更多示例请参考npm文档或官方存储库。
推荐文章
- 我如何找到哪个程序正在使用端口80在Windows?
- 在Windows中有像GREP这样的模式匹配实用程序吗?
- 如何在Windows命令提示符下运行.sh ?
- 如何从命令行在windows中找到mysql数据目录
- 在没有事件源注册的情况下写入Windows应用程序事件日志
- 为什么PHP的json_encode函数转换UTF-8字符串为十六进制实体?
- 无法在Windows上从/usr/local/ssl/openssl.cnf加载配置信息
- 我如何确定文件编码在OS X?
- GIT克隆在windows中跨本地文件系统回购
- 如何运行一个PowerShell脚本而不显示窗口?
- PowerShell:仅为单个命令设置环境变量
- “\d”在正则表达式中是数字吗?
- 为什么这个Windows批处理文件只执行第一行,而在命令shell中执行所有三行?
- 环境变量存储在Windows注册表的哪里?
- 有一个好的Valgrind Windows的替代品吗?