Есть ли способ улучшить преобразование между неизвестными и известными кодировками? В настоящее время многие допустимые символы неправильно отображаются как не кодируемые.
Вот проблема, с которой я столкнулся:
Я открываю текстовый файл Latin-1 и, к моему удивлению, индикатор системы кодирования больше не 1
, а =
, означающий отсутствие преобразования. Все не-ascii символы отображаются как escape-символы.
Поэтому я пытаюсь настроить систему кодирования прямо на m3 на индикаторе системы кодирования, сообщающем, что я хочу снова использовать Latin-1.
Теперь все символы, отличные от ascii, которые являются действительными кодами Latin-1, перечислены как неспособные к кодированию (что на самом деле неверно). Это очень запутанно.
В конце концов, я решил проблему, обнаружив нулевой байт где-то в файле.
Воспроизвести:
Откройте действительный файл Latin-1 с не-ascii символами и отметьте 1:
в качестве индикатора системы кодирования.
Добавьте C- @ (ноль) где-нибудь в нем. Вероятно, больше в начале
Сохраните файл и уничтожьте буфер.
Теперь откройте этот файл и обратите внимание, что =:
является индикатором системы кодирования
Теперь переключитесь на Latin-1 и увидите буфер *Warning*
, показывающий вам список допустимых кодов, которые система считает необратимыми, но не одного фактического преступника, поскольку список заканчивается ...
Что я мог бы ожидать, так это показывать только нулевые символы.
(происходит в Emacs 25 и 24)