Працюючи з різними текстами й операційними системами, я часто стикався з «абракадаброю» замість кирилиці. У 2007 році найчастіше доводилося розбиратися з DOS-кодовими сторінками, Windows-1251, KOI8-R та UTF-8. Спробував кілька способів перекодування — від редактора Far до програм, які самі вгадували ланцюжок попередніх перетворень.
Кодування й розкладка — різні речі
Розкладка клавіатури визначає введення символів, а кодування — те, як текст представлено в даних. Тому для неправильно прочитаного файла не завжди потрібне нове перекодування: спочатку треба правильно визначити його початкове кодування. Окрема операція — зберегти прочитаний текст у форматі, якого очікує інша програма.
Far Manager: простий спосіб для зрозумілої кодової сторінки
Для швидкої роботи з текстом мені вистачало вбудованого редактора Far. У моєму тодішньому встановленні порядок був таким:
- Відкрити текстовий файл або вказати ім’я нового через Shift+F4.
- Подивитися позначення кодування у верхній частині редактора. У моєму випадку спочатку відображалося DOS.
- За потреби вставити текст із буфера через Shift+Insert.
- Натиснути F8 для перемикання між DOS/OEM та Windows/ANSI і перевірити, чи стали символи зрозумілими.
- Для вибору іншої таблиці відкрити перелік через Shift+F8.
Додаткові таблиці в тому встановленні лежали в каталозі Addons/Tables. Я підключав потрібні файли таблиць, повторно відкривав Far, а потім вибирав таблицю в редакторі. Номер тієї версії в моїх записах не залишився; назва DOS без конкретного номера кодової сторінки теж не визначає однозначного кодування.
Натискання F8 і зрозумілий вигляд тексту ще не означають, що файл уже записано в потрібному кодуванні. Після збереження варто відкрити копію в програмі-одержувачі й перевірити результат. Так само копіювання через буфер не слід вважати доказом того, що байти вихідного файла змінилися.
TCode: коли текст перекодовували кілька разів
Іншим інструментом у моїй добірці був TCode. Його тодішній опис перелічував DOS, Windows, KOI8 та ISO 8859-5, автоматичне розпізнавання й відновлення багаторазово перекодованих текстів — до восьми перетворень. Також згадувалися Base64, Quoted-Printable, HTML, RTF та UTF-8.
Користуватися програмою було просто: вставляєш текст і запускаєш декодування. Проте що довшим був ланцюжок попередніх перетворень, то більше часу займало відновлення. На практиці траплялися й неточності в окремих словах, тому я не приймав результат автоматично без читання.
Адреса TCode, яку я зберіг у 2007 році: http://softsearch.ru/programs/56-707-tcode-download.shtml.
«Штирлиц»: швидке відновлення невеликих текстів
Що казати, «Штирлиц» він і в Африці «Штирлиц»! На невеликих текстах програма працювала в мене дуже швидко й справляла найкраще враження з цієї добірки.
У її описі на той час були Windows-1251, KOI8-R, DOS, ISO-8859-5, Mac-кодування, транслітерація, Quoted-Printable, UTF-7, UTF-8, RTF та HTML, а також uuencode, xxencode, Base64, BinHex і BtoA. Окремо зазначалася робота зі змішаними фрагментами, зокрема коли різні частини одного тексту мали різні кодування.
Програма давала змогу привести текст до Windows-1251 для читання, редагування, збереження й друку, а також виконати зворотні перетворення. Схеми транслітерації та кодування можна було доповнювати й коригувати; розпізнавання запускалося під час вставлення з буфера або завантаження файла. Інтерфейс у моїй добірці зазначено російською, англійською та болгарською.
Збережена адреса програми: http://soft.softodrom.ru/ap/p336.shtml.
Що перевірити після декодування
Перш ніж експериментувати, залиште незмінену копію. Перевіряйте весь текст, а не лише перше речення: чи правильно відновилися літери, розділові знаки та фрагменти іншими мовами. Якщо символи було втрачено ще під час попереднього збереження, автоматичне визначення кодування не поверне відсутню інформацію.
У переліках можливостей таких програм змішувалися різні види перетворень. Base64 і Quoted-Printable застосовують для представлення даних під час передавання, а HTML і RTF мають власну структуру документа. Це не просто альтернативні кодові сторінки для кирилиці. Призначення Base64 описує RFC 4648, а Quoted-Printable у MIME — RFC 2045.
Немає коментарів:
Дописати коментар