пʼятниця, 21 грудня 2007 р.

Перекодування кирилиці: мій досвід із Far, TCode та «Штирлицом»

Працюючи з різними текстами й операційними системами, я часто стикався з «абракадаброю» замість кирилиці. У 2007 році найчастіше доводилося розбиратися з DOS-кодовими сторінками, Windows-1251, KOI8-R та UTF-8. Спробував кілька способів перекодування — від редактора Far до програм, які самі вгадували ланцюжок попередніх перетворень.

Кодування й розкладка — різні речі

Розкладка клавіатури визначає введення символів, а кодування — те, як текст представлено в даних. Тому для неправильно прочитаного файла не завжди потрібне нове перекодування: спочатку треба правильно визначити його початкове кодування. Окрема операція — зберегти прочитаний текст у форматі, якого очікує інша програма.

Far Manager: простий спосіб для зрозумілої кодової сторінки

Для швидкої роботи з текстом мені вистачало вбудованого редактора Far. У моєму тодішньому встановленні порядок був таким:

  1. Відкрити текстовий файл або вказати ім’я нового через Shift+F4.
  2. Подивитися позначення кодування у верхній частині редактора. У моєму випадку спочатку відображалося DOS.
  3. За потреби вставити текст із буфера через Shift+Insert.
  4. Натиснути F8 для перемикання між DOS/OEM та Windows/ANSI і перевірити, чи стали символи зрозумілими.
  5. Для вибору іншої таблиці відкрити перелік через 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.

Немає коментарів:

K2 відкрила курс з ERP: 61 урок, практика й сертифікат

Перший день у новій ERP часто починається з пошуку потрібної кнопки. Наступний виклик складніший: зрозуміти, що зміниться після натискання. ...