Мне нужен файл, который я хочу чтобы убедиться, что он закодирован с помощью utf8 .
Итак, я создаю файл
c:\> gvim umlaute.txt
В VIM я набираю Umlaute:
äöü
Я проверяю кодировку ...
:set enc
(VIM откликается на encoding = latin1
)
и затем я проверяю кодировку файла ...
:set fenc
(VIM echoes fileencoding =
)
Затем я записываю файл
:w
и проверяю размер файла на жестком диске:
!dir umlaute.txt
(размер 5 байтов) Это, конечно, ожидается, 3 байта для текста и 2 для \ x0a \ x0d.
Хорошо, теперь я установил кодировку на
:set enc=utf8
Буфер становится странным
<e4><f6><fc>
Думаю, это шестнадцатеричное представление символов ascii, которые я ранее ввел. Поэтому я переписываю их
äöü
Запись, проверка размера:
:w
:$ dir umlaute.txt
На этот раз это 8 байтов. Думаю, имеет смысл 2 байта на каждый символ плюс \ x0d \ x0a.
Хорошо, поэтому я хочу убедиться, что в следующий раз en файл будет открыт с encodiung = utf8.
:setb
:w
:$ dir umlaute.txt
11 байт. Это, конечно, 8 (предыдущие) байта + 3 байта для спецификации (ef bb bf).
Итак, я
:quit
vim и снова открываю файл
и проверяю, установлена ли кодировка:
:set enc
Но VIM настаивает на том, что его encoding = latin1
.
Итак, почему это так. Я ожидал, что спецификация сообщит VIM, что это файл UTF8.