Программирование на C++: утилита DOSWIN - смена кодировки текста

 

Описание

Консольная утилита для перекодирования текстов с кириллицей между cp-866, cp-1251 и cp-KOI8, а также UNICODE (utf-8, Unicode и Unicode big endian). Многие исходные тексты Словаря для русского языка Системы представлены в кодировке cp-866 (по историческим причинам - разработка начиналась в 1995 году), и чтобы оперативно перекодировать файлы из стандартной для Windows cp-1251, была создана эта утилита. Ее исходный код очень компактен, так как собственно вся работа заключается в том, чтобы открыть один поток для чтения и другой - для записи, и перегнать символы из потока в поток. Благодаря своей простоте утилиту можно рассматривать как учебный пример использования классов потоков в библиотеке LEM.

Опции

Основной формат:

doswin /sисх /dкон имя_файла

здесь: исх - исходная кодировка, кон - конечная кодировка

Возможные кодировки:

866 - кодовая страница кириллицы MS DOS

1251 - кодовая страница кириллицы MS Windows

847 - кодовая страница кириллицы Unix

utf8 - юникод utf-8

utf16 - юникод utf-16

utf16be - юникод utf-16 big endian

 

Скачать

Версия для Windows: download zip (59 Kb)

Версия для Linux: download gz (155 Kb)

 

Техническая реализация

Структуры данных и алгоритмы: подробнее

Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман
Структуры данных и алгоритмы

Исходные тексты: \LEM\Demo\Streams\Doswin

Компиляция: с помощью утилиты MAK, либо IDE CBuilder 6.0

Портабельность:

 

Windows

Linux

CBuilder 6.0

MS VisualStudio.NET 2003

 MinGW

 GCC 3.2

  © Mental Computing 2010