ИТ-КОД-001verifiedCP866 + Windows-1251ревизия 2026-05-07

Декодер Windows-1251 в CP866

Перекодировка текста из Windows-1251 (CP1251) в CP866 (DOS-кодировка). Для legacy-программ 1С 7.7, FoxPro, bat-файлов cmd.exe и старых баз данных DBF/CDX. Локально в браузере, без отправки на сервер.

⏱ ~5 сек · CP1251 ↔ CP866 ↔ UTF-8 · файлы любого размера
Отчёт · ИТ-КОД-001|перекодировка локально
calcal.ru / windows-1251-v-cp866-dekoder
Загрузка калькулятора…
CP866
DOS-кодировка с 1992
Win-1251
GUI Windows с 1995
256
Символов в обеих
локально
Все вычисления в браузере

CP866 — кодировка эпохи DOS

CP866 (OEM-866, DOS-кириллица) — однобайтовая кодировка русского языка, разработанная IBM и Microsoft для MS-DOS в 1992 году. До сих пор используется в legacy-системах: 1С 7.7, FoxPro 2.x, бухгалтерских программах эпохи 1990-х (Парус-DOS, Турбо-Бухгалтер), а также в командной строке Windows cmd.exe. Когда современный Windows-1251-текст попадает в DOS-программу, появляются «кракозябры» — нечитаемые символы. Калькулятор выполняет точную перекодировку байт-в-байт по таблице Microsoft.

Когда нужна перекодировка

Три типичных сценария: 1) Импорт DBF-файлов из 1С 7.7 или FoxPro в современную систему — текст из CP866 нужно перевести в UTF-8 или CP1251. 2) Создание bat-файлов с русским текстом для cmd.exe — сохранять в CP866. 3) Чтение архивных документов от госорганов 1990-х (отчёты, базы) — из CP866. Современные офисные программы (Word, Excel, 1С 8.x) поддерживают CP866 через явный выбор при открытии/сохранении. Для пакетной перекодировки используйте iconv -f WINDOWS-1251 -t IBM866 (Linux/WSL).

Code Page 866 was designed for MS-DOS Russian localization, providing 8-bit Cyrillic encoding with full pseudographic characters for terminal-mode user interfaces.Microsoft Code Page 866 specification (1992)

Сравнение кодировок русского текста

КодировкаПрименениеРазмер
Windows-1251 (CP1251)Windows GUI, Internet Explorer, MS Office1 байт
CP866 (OEM-866, DOS)DOS, FoxPro, 1С 7.7, БД cdx1 байт
UTF-8современный веб, Linux, MacOS1–4 байта
KOI8-Rстарые UNIX-системы, BSD1 байт
ISO-8859-5международный стандарт1 байт

Для других конверсий используйте UTF-8 → CP1251, CP1251 → UTF-8, или универсальный декодер кириллицы.

ИСТОЧНИКИ
  1. Microsoft Code Page 866 (OEM-866) Specification. Microsoft. docs.microsoft.com. 1992.
  2. Microsoft Code Page 1251 (Windows-1251) Specification. Microsoft. docs.microsoft.com. 1995.
  3. ГОСТ 19768-93 «Информационная технология. 8-битные одноалфавитные кодированные наборы символов». Госстандарт. docs.cntd.ru. 1993.
  4. IETF RFC 1489 — Registration of a Cyrillic Character Set. IETF. rfc-editor.org. 1993. ↗ ссылка
  5. Unicode Mappings for CP866. Unicode Consortium. unicode.org. 2024. ↗ ссылка
РАЗДЕЛ 04 · НЮАНСЫ

Тонкости работы с CP866

01
Где встречается CP866

Старые программы 1С 7.7 (DBF/CDX), FoxPro, бухгалтерские утилиты эпохи 1990-х, экспорты из MS-DOS. На современных Windows 10/11 в командной строке (cmd.exe) по умолчанию кодировка CP866 — отсюда «кракозябры» в выводе bat-файлов.

02
Чем отличается от CP1251

Windows-1251 — для графического интерфейса Windows (Word, Excel, браузер). CP866 — для текстового режима DOS. Оба однобайтовые, оба содержат русские буквы, но в разных позициях. Текст «Привет» в CP1251 — байты CF F0 E8 E2 E5 F2; в CP866 — те же буквы, но E1 F0 A8 A2 A5 E2.

03
Псевдографика DOS

CP866 содержит символы псевдографики (двойные и одинарные рамки таблиц): │, ─, ┌, ┐, └, ┘, ├, ┤, ┬, ┴, ┼. Эти символы сохраняются при конвертации в Unicode (U+2500…U+257F), но теряются при переходе в CP1251 — там нет псевдографики.

04
Командная строка Windows

Чтобы в cmd.exe видеть русский текст из bat-файлов в кодировке CP866, не нужно перекодировать — просто сохраните bat в CP866. Если редактор не поддерживает (например, Notepad++), сохраните в UTF-8 и добавьте `chcp 65001` в начало bat-файла.

РАЗДЕЛ 05 · ПЛАН ДЕЙСТВИЙ

От текста до DOS-программы

01ИДЕНТИФИКАЦИЯ

Выявить кодировку

Если файл от 1С 7.7, FoxPro, DOS — это CP866. Если от Windows-приложения 1990–2000-х — Windows-1251. Современный текст по умолчанию UTF-8.

02КОНВЕРТАЦИЯ

Через калькулятор

Вставьте текст или загрузите файл, выберите исходную кодировку (Windows-1251) и целевую (CP866). Результат — байт-в-байт корректный для DOS-программ.

03ПРОВЕРКА

Открыть в целевой программе

Сохранённый CP866-файл открывайте в DOS-программе или редакторе с явным указанием CP866. Notepad++ → Encoding → Character sets → Cyrillic → OEM 866.

ЧАСТЫЕ ВОПРОСЫ

Часто задаваемые вопросы

CP866 — кодировка эпохи DOS, до сих пор используется в legacy-системах: 1С 7.7 (старая версия), FoxPro 2.6, бухгалтерские программы 1990-х (Парус-DOS, Турбо-Бухгалтер). При работе с такими системами текст в Windows-1251 (стандартной для современного Windows) отображается «кракозябрами». Перекодировка из CP1251 в CP866 нужна для правильного отображения в DOS-программах. Также CP866 — стандарт командной строки Windows (cmd.exe) — bat-файлы с русским текстом сохраняются в CP866.
CP866 (OEM-866, DOS-кириллица) — однобайтовая кодировка для русского языка, разработанная Microsoft для русской версии MS-DOS в 1992 году. Содержит 256 символов: первые 128 — стандартный ASCII, позиции 128–175 — русские прописные А–п, 176–223 — символы псевдографики (рамки таблиц), 224–239 — русские строчные р–я, 240–254 — служебные знаки. В отличие от Windows-1251, CP866 имеет полную псевдографику для рисования текстовых интерфейсов в DOS. До сих пор используется в legacy-системах и cmd.exe.
В Notepad++: меню Encoding → Character sets → Cyrillic → OEM 866 → File → Save As → имя.bat. В Sublime Text 3 или VS Code напрямую CP866 не сохраняется, требуется плагин или промежуточная конвертация. Самый надёжный способ — использовать этот калькулятор: вставить русский текст команд, выбрать UTF-8 → CP866, скачать готовый файл с расширением .bat. Альтернатива — добавить первой строкой `@chcp 65001 > nul` в bat-файл, тогда можно использовать UTF-8 — но не все версии Windows корректно интерпретируют.
Обе кодировки однобайтовые и содержат русский алфавит, но в разных позициях. CP866 (1992) — для DOS, имеет псевдографику (рамки), русские буквы в позициях 128–175 и 224–239. Windows-1251 (1995) — для GUI Windows, без псевдографики, русские буквы в позициях 192–255 (более компактно). Текст «Привет» в CP1251 — байты CF F0 E8 E2 E5 F2 (в HEX); в CP866 — те же буквы, но 8F E0 A8 A2 A5 E2. При неправильной интерпретации получаются разные крякозябры.
Cmd.exe Windows по умолчанию работает в кодировке CP866. Если вывод программы — в Windows-1251 (большинство современных), то будут кракозябры. Решения: 1) Перенаправить вывод программы через `more` с явной кодировкой; 2) Сменить кодовую страницу cmd: `chcp 1251` для CP1251 или `chcp 65001` для UTF-8; 3) Использовать PowerShell вместо cmd — он по умолчанию UTF-16; 4) Запускать программу с параметром `--encoding=cp866`. Для bat-файлов важно: сам файл и кодировка cmd должны совпадать.
Калькулятор работает с текстом любого размера, но для файлов больше 10 МБ браузер может тормозить. Альтернативы: 1) iconv (Linux, Windows WSL): `iconv -f WINDOWS-1251 -t IBM866 input.txt > output.txt`; 2) PowerShell: `Get-Content input.txt -Encoding 1251 | Set-Content output.txt -Encoding 866`; 3) Notepad++ для файлов до 100 МБ; 4) Python-скрипт с `codecs.open(path, encoding=\"cp1251\")` и `.encode(\"cp866\")`. Для разовой задачи проще использовать калькулятор; для пакетной — скрипты.
Нет. CP866 — однобайтовая кодировка, поддерживает только русские, английские буквы, цифры, базовую пунктуацию и псевдографику. Для эмодзи (😀, 🎉) и иностранных букв (中文, العربية) обязательна Unicode-кодировка: UTF-8, UTF-16 или UTF-32. При попытке сохранить эмодзи в CP866 они будут заменены на знак вопроса «?» или удалены. Если в тексте смешаны русский и иностранные символы — используйте только UTF-8.
1С 7.7 (DBF, CDX-индексы); FoxPro 2.x для DOS; Lexicon, Лексикон, ChiWriter — текстовые редакторы DOS; Парус-DOS, Турбо-Бухгалтер — бухгалтерия 1990-х; Norton Commander, FAR Manager — файловые менеджеры в текстовом режиме (FAR Manager до сих пор работает на современных Windows); сам cmd.exe в Windows. Современные программы (1С 8.x, Excel, Word, Notepad++) поддерживают CP866 через явный выбор кодировки при открытии/сохранении.
Лиана Арифметова
АВТОРverifiedред. calcal.ru

Лиана Арифметова

Создатель и главный редактор

Миссия: демократизировать сложные расчёты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».

Mathematical Engineering · МФТИ · редактирует каталог с 2012 года

Был ли этот калькулятор полезен?

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Инструмент справочный — не заменяет эксперта

Только для информационных целей. Все расчёты, результаты и данные, предоставляемые инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.

Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.

Профессиональные решения — медицинские, финансовые, инженерные — должны приниматься только после консультации с квалифицированным специалистом. Не используйте автоматический расчёт как единственное основание для важных решений.

Ограничение ответственности. Авторы и разработчики сервиса не несут ответственности за прямой или косвенный ущерб, возникший из-за использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию результатов.