Задать вопрос
Qubc
@Qubc
Ненавижу полисемию.

Как программа «Блокнот» определяет кодировку файла?

Создаю в far пустой файл без расширения с кодировкой ansi 1251 или utf8.
Открываю блокнотом, нажимаю "сохранить как" и вижу, что блокнот уже предлагает ansi или utf соответственно.
Как это происходит?
  • Вопрос задан
  • 2191 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Far при сохранении файла в UTF-8 пишет в начале файла BOM маркер (EF BB BF), указывающий что весь текст далее закодирован с помощью UTF-8 кодировки. А при сохранении в ANSI - ничего не пишет. UTF8 может не содержать BOM - и тогда, определение кодировки лежит на плечах редактора и/или пользователя. Некоторые редакторы анализируя строку умеют определять верную кодировку с ощутимой долей вероятности.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ezhyg
@Ezhyg
Может файл не совсем пустой?

Пустой файл это совсем 0 байт, без потоков и совершенно без какой-либо информации, даже о кодировке. Т.е., он не содержит совершенно никакой информации, совсем, вообще.

только что проверил - создал пустой, "поменял" кодировку на UTF-8+BOM (потому что блокнот с BOM только умеет), сохранил - вуаля, файл стал 3 байта - подсказать, что там, в этих 3 байтах?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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