![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перекодировка русского текста DOS+ANSI в ANSI [D7, XP, 2003]
allrussia © (2010-03-03 08:48:00)Есть данные с русскими символами DOS и ANSI
например:
‘ЇЁб®Є ЁвҐа䥩ᮢ
Минипорт
Данные динамически меняются
Если применять к данным функцию OEMtoANSI (и подобные)
то ANSI-символы портятся, а DOS-символы конвертируются нормально.
т.е. получается в данном примере что -то типа
Список интерфейсов
¦шэшяюЁЄ
а нужно
Список интерфейсов
Минипорт
Что же делать? (с) Ч.
Есть идея переконвертировать весь текст в ASCii -символы
типа #156
а затем в зависимости от символа конвертировать в ANSI
но как реализовать не знаю
Может кто подскажет. Спасибо.
p.s.перерыл все факи.
Anatoly Podgoretsky (2010-03-03 10:09:00) [21]Методом частотного анализа, при известном языке это частично возможно.
12 (2010-03-03 10:08:00) [22]не правильно
У тя же построчно, а не побуквенно
нет же смеси из разных кодировок в одной строке?
наверное, нужен словарь
Искать результат слов в словаре. Если есть - правильно кодировку применили, нет - другую надо. Опять нет - третью..
allrussia (2010-03-03 10:02:00) [23]Не совсем понял, что вы имеете ввиду. Поясните.
Заодно я упрощу задачу.
есть текстовый файл с таким содержанием:
жжжжж
Вроде все буквы одинаковые, а-н нет. какие то из них в дос кодировке, какие-то в ansi
вот и нужно определить какие из них dos, чтобы применить к ним oemtochar, например
вопрос как определить
т.е. допустим в нашем примере что 1 и 5 буквы в дос кодировке применяем oemtochar к ним - получаем
цжжжцКак узнать какие в дос-кодировке, если они все ожинаковые? :)))))))
Anatoly Podgoretsky (2010-03-03 08:54:00) [24]> allrussia (03.03.2010 08:48:00) [0]
Операция перекодирования в ASCII обратная по отношению, к сильно устаревшей фунции OEMtoANSI
Синтаксис вызова одинаков.