Почему `file -i` определяет кодировку файла как ASCII, однако на самом деле это UTF-8 в репозитории git

Есть два случая, которые я запутал:

  1. Если вновь созданный файл содержит только латинские символы, то file -i покажет us-ascii.
  2. Если вновь созданный файл содержит только латинские и кириллические символы, то file -i покажет utf-8

Я проверил это поведение с помощью нескольких инструментов для создания файлов в локальной копии репозитория git: intellij идея, нано, эхо и т. д.

Однако, когда я отправляю эти файлы в удаленное хранилище, участники ОС Windows определяют эти файлы как UTF-8.

0
задан 15 May 2019 в 19:17

1 ответ

Итак, поскольку во время создания файла не создается спецификация, нет способа различить ASCII и UTF-8. Таким образом, с точки зрения правильной prediction кодировки файлов - лучше ответить на ASCII, чем на UTF-8 (если оба содержат только латинские символы), поскольку UTF-8 включает в себя больше кодов символов.

Поэтому file -i делает все возможное.

Спасибо Федонкадифели за помощь.

0
ответ дан 15 May 2019 в 19:17

Другие вопросы по тегам:

Похожие вопросы: