Макрос автоопределения кодировки для редактора
Posted: Fri 10 Mar, 2017 00:12
Возможно ли написать макрос, который будет гибко решать какую кодировку в редакторе выставить?
- если создается новый файл, выставлять по-умолчанию UTF8
- если открывается существующий файл, определять является ли он UTF8 (есть ли в нем недопустимые для cp1251 символы и тогда, если есть, открывать как UTF8, а если нет и нет BOM в начале файла, то открывать в старой кодировке CP1251)
- а может быть еще и научить определять DOS/KOI8/UTF16...
Сейчас проблема в том, что в Far (Far2) по-умолчанию открывается как cp1251, я переделал простейшим macro-recorderom, чтобы открывалось в utf-8. Но дело в том, что сменить кодировку ПОСЛЕ открытия уже не получится - все несовместимые символы будут просто испорчены, поэтому выбирать кодировку нужно именно на этапе открытия файла (перед открытием). А у меня много файлов и в utf-8, и в cp1251, и ПЕРЕоткрывать их в правильной кодировке просто настоящее мучение. А встречаются еще и в DOS.
Можно ли макросом определить какая кодировка у файла? Сам Far как-то определяет, что в файле есть символы в недопустимой кодировке. Может и макросом можно как-то извратиться? (Можно даже отрыть два раза - сначала чтобы определить кодировку, закрыть, и открыть уже в правильной кодировке, например. Главное решить проблему, пусть и через зад.)
- если создается новый файл, выставлять по-умолчанию UTF8
- если открывается существующий файл, определять является ли он UTF8 (есть ли в нем недопустимые для cp1251 символы и тогда, если есть, открывать как UTF8, а если нет и нет BOM в начале файла, то открывать в старой кодировке CP1251)
- а может быть еще и научить определять DOS/KOI8/UTF16...
Сейчас проблема в том, что в Far (Far2) по-умолчанию открывается как cp1251, я переделал простейшим macro-recorderom, чтобы открывалось в utf-8. Но дело в том, что сменить кодировку ПОСЛЕ открытия уже не получится - все несовместимые символы будут просто испорчены, поэтому выбирать кодировку нужно именно на этапе открытия файла (перед открытием). А у меня много файлов и в utf-8, и в cp1251, и ПЕРЕоткрывать их в правильной кодировке просто настоящее мучение. А встречаются еще и в DOS.
Можно ли макросом определить какая кодировка у файла? Сам Far как-то определяет, что в файле есть символы в недопустимой кодировке. Может и макросом можно как-то извратиться? (Можно даже отрыть два раза - сначала чтобы определить кодировку, закрыть, и открыть уже в правильной кодировке, например. Главное решить проблему, пусть и через зад.)