Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Как перекодировать строку символов из кодировки |
Автор: Royan 15.5.2005, 19:13 |
Парни привет! Скажите пожалуйста как мне меньшей кровью перекодировать строку символов из кодировки ANSI в кодировку ASCII (кодировка window в кодировку DOS), в сях или WinAPI есть какая-нить подобная функция? Или там просто коды символом поменять? |
Автор: Alastis 16.5.2005, 07:01 |
В ANSI русские буквы кодируются числами от 192 до 255, а в ASCII - от 128 до 175 (А..Яа..п) и от 224 до 239 (р..я). Думаю довольно просто написать свою функцию![]() |
Автор: Void 16.5.2005, 19:17 | ||
Ф-ции WinAPI: CharToOem, CharToOemBuff (это Win->DOS), OemToChar и OemToCharBuff (DOS->Win) - это то, что вам нужно ![]()
Сколько я помню, русские буквы в CP866 идут не совсем в алфавитном порядке. Так что если уж писать перекодировку самому - то проще таблицу для диапазона 128..255 сделать (то что ниже - стандарт, который, кстати и называется ASCII). |
Автор: CaptainFlint 18.5.2005, 19:41 | ||
Это в KOI-8 они идут не по порядку, а в 866 по порядку, только, как правильно заметил Alastis, диапазон там не целый, а "разорванный" на два куска. |
Автор: jonie 29.10.2006, 12:53 | ||||
дааавно-давно делал так:
|
Автор: BigHeart 19.3.2007, 13:15 | ||
|