有两种情况令我感到困惑:
- 如果新创建的文件只包含拉丁符号,则将
file -i
显示us-ascii
。 - 如果新创建的文件仅包含拉丁和西里尔符号,则将
file -i
显示utf-8
我使用几种在 git 存储库的本地副本中创建文件的工具测试了这种行为:intellij idea、nano、echo 等。
但是,当我将这些文件推送到远程存储库时,Windows 操作系统上的参与者将该文件确定为 UTF-8。
答案1
因此,由于在文件创建过程中没有生成 BOM,因此无法区分 ASCII 和 UTF-8。因此,就prediction
文件编码的正确性而言,最好回答 ASCII,而不是 UTF-8(如果两者都只包含拉丁字符),因为 UTF-8 涉及更多字符代码。
因此file -i
尽力而为。
谢谢费东卡迪费利寻求帮助。