Скачал сегодня. В настройках распознавание кодировки кириллица.
Сохраняю файл как utf8, переименовываю, чтобы из кодировка не бралась из "последние файлы". Открываю: Дурак
Posted: Fri Jul 18, 2014 4:55 pm
by Wio
basinilya
В окне сохранения при выборе кодировки нужно отметить галочку "BOM" (byte order mark).
Мне кажется, корень описанной проблемы в том, что полностью корректная последовательность из 10 байт, формирующая 5 символов UTF-8, по каким-то причином не определяется AkelPad-ом как UTF-8.
Поскольку определение кодировки в AkelPad опирается на какие-то таблицы, мне сложно прокомментировать, почему именно в этом случае авто-определение UTF-8 не срабатывает.
Упоминаемый мной "прямой" алгоритм определения UTF-8, основывающийся чисто на статье Википедии, описывающей спецификацию UTF-8, в этом фрагменте безошибочно узнаёт UTF-8.
Instructor,
Но для UTF-8 существуют чётко прописанные зависимости в последовательности байт, и в принципе даже по одному многобайтному символу UTF-8 (по двум или более байтам) можно определить, это UTF-8 или нет. А уж для 5 многобайтных символов это можно сказать наверняка.
Т.е. что я хочу сказать: в случае с UTF-8 у нас не та ситуация, где кодировка "угадывается" - нет, для UTF-8 мы можем совершенно точно определить, является ли последовательность байт UTF-8 или нет.
Posted: Mon Jul 21, 2014 1:14 pm
by Skif_off
DV wrote:Instructor,
Но для UTF-8 существуют чётко прописанные зависимости в последовательности байт, и в принципе даже по одному многобайтному символу UTF-8 (по двум или более байтам) можно определить, это UTF-8 или нет. А уж для 5 многобайтных символов это можно сказать наверняка.
А если такие символы не попали в буфер (даже увеличенный до 8196)?
Или текст по большей части состоит из латинских букв и знаков препинания (не всех), которые есть однобайтовые, а в AkelPad стоит дефолтная б-гомерзкая СР1251?
Posted: Mon Jul 21, 2014 3:39 pm
by DV
Skif_off,
В данной ситуации у нас 5 многобайтных символов UTF-8, которые иначе как UTF-8 можно распознать только ошибочно: Дурак
В общем же случае вы правы: если нет многобайтных UTF-8 символов, то UTF-8 не признать. Но если есть хотя бы несколько, то это уже потенциально UTF-8. А в нашей ситуации все 5 символов удовлетворяют условию многобайтного UTF-8, то есть выбор очевиден.
Posted: Mon Jul 21, 2014 3:52 pm
by Instructor
DV
FAQ wrote:2. Возможно файл слишком маленький. Символов для распознавания должно быть больше 11.
Posted: Tue Jul 22, 2014 12:06 pm
by basinilya
Wio wrote:basinilya
В окне сохранения при выборе кодировки нужно отметить галочку "BOM" (byte order mark).
Это чит
Posted: Tue Jul 22, 2014 12:10 pm
by basinilya
Instructor wrote:DV
FAQ wrote:2. Возможно файл слишком маленький. Символов для распознавания должно быть больше 11.
Это помогло. Но вообще для utf надо бы свою распознавалку, как писали выше
Posted: Tue Jul 22, 2014 12:38 pm
by Serge Yolkin
Хотелось бы отдельную распознавалку для UTF-8... Но, возможно, проблема в том, что Instructor ориентируется не только на латиницу и кириллицу. А тот же "дурак", написанный по-японски будет выглядеть несколько иначе...