Конвертер кодировок текста

Перекодировать KOI8-R в UTF-8 онлайн

KOI8-R — кодировка русских Unix-систем и раннего русского интернета. В ней ходила почта и новости Usenet, были написаны многие сайты 1990-х, документация и тексты, которые до сих пор лежат в архивах. Сегодня её почти не используют для новых файлов, но со старыми данными она встречается постоянно.

Как узнать KOI8-R по кракозябрам

У KOI8-R есть особенность, по которой её легко узнать. Буквы в ней расположены не по алфавиту, а так, что при отбрасывании старшего бита каждая превращается в похожую латинскую: «Привет, мир» в семибитном виде выглядит как pRIWET, MIR. Так сделали специально, чтобы текст оставался хоть как-то читаемым после старых почтовых серверов, которые передавали только 7 бит. Побочный эффект — у кириллических букв регистр в KOI8-R «перевёрнут» относительно латиницы.

Как выглядит текстЧто произошлоИсходная → нужная
рТЙЧЕФ, НЙТKOI8-R открыт как Windows-1251: кириллица, но с перевёрнутым регистромWindows-1251 → KOI8-R
ðÒÉ×ÅÔ, ÍÉÒKOI8-R открыт как западноевропейская Windows-1252Windows-1252 → KOI8-R
оПХБЕР, ЛХПОбратная ошибка: Windows-1251 открыт как KOI8-RKOI8-R → Windows-1251
п÷я─п╦п╡п╣я┌UTF-8 открыт как KOI8-R: буквы «п» и «я» вперемешку с псевдографикойKOI8-R → UTF-8

Проще всего вставить текст в поле и нажать «Определить кодировку текста» — конвертер переберёт варианты сам. На этой странице заранее выбран самый частый случай: исходная Windows-1251, нужная KOI8-R.

Как перевести файл из KOI8-R в UTF-8

  1. Нажмите «Загрузить файл». Файл в KOI8-R сначала покажется кракозябрами вида «рТЙЧЕФ» — это нормально: конвертер сразу запустит определение кодировки, и в поле результата появится читаемый текст.
  2. Выберите кодировку файла UTF-8 (или Windows-1251, если файл нужен для старой программы Windows) и нажмите «Скачать файл в этой кодировке».

В командной строке Linux и macOS то же делает iconv -f KOI8-R -t UTF-8 input.txt > output.txt, в Python — open('in.txt', encoding='koi8_r').read() с последующей записью в UTF-8.

Частые вопросы

Чем KOI8-R отличается от KOI8-U?
KOI8-U — украинский вариант той же таблицы. В нём на месте нескольких символов псевдографики стоят буквы Ґ, Є, І, Ї. Русский текст в обеих кодировках записывается одинаково, а украинские буквы в KOI8-R превращаются в рамки и линии.
Почему в KOI8-R буквы стоят не по алфавиту?
Их расставили по созвучию с латиницей: код «а» отличается от кода латинской «A» только старшим битом, код «б» — от «B» и так далее (регистр при этом меняется на противоположный). Если почтовый сервер обрезал восьмой бит, письмо превращалось в транслит вида «pRIWET», который всё же можно было прочитать.