Chr*_*heD 58
我只是用
file -bi myfile.txt
Run Code Online (Sandbox Code Playgroud)
确定特定文件的字符编码.
一个具有外部依赖性的解决方案,但我怀疑file现在在所有半现代发行版中都很常见.
编辑:
作为对劳伦斯贡萨尔维斯评论的回应:b选择是"简短"(不包括文件名),并且i是速记等同--mime于最便携的方式(包括Mac OSX),那么可能是:
file --mime myfile.txt
Run Code Online (Sandbox Code Playgroud)
没有办法100%确定(除非你正在处理内部声明其编码的文件格式).
大多数尝试进行此区分的工具都会尝试将文件解码为utf-8(因为这是更严格的编码),如果失败,则回退到iso-8859-1.您可以使用iconv"手动" 执行此操作,也可以使用file:
$ file utf8.txt
utf8.txt: UTF-8 Unicode text
$ file latin1.txt
latin1.txt: ISO-8859 text
Run Code Online (Sandbox Code Playgroud)
请注意,ASCII文件兼容UTF-8和ISO-8859-1.
$ file ascii.txt
ascii.txt: ASCII text
Run Code Online (Sandbox Code Playgroud)
最后:没有真正的方法来区分ISO-8859-1和ISO-8859-2,例如,除非你假设它是自然语言并使用统计方法.这可能是文件说"ISO-8859"的原因.
| 归档时间: |
|
| 查看次数: |
55595 次 |
| 最近记录: |