C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Кодировки, Win, DOS, KOI8-R
Aptem
Отправлено: 27.10.2003, 08:25


Мастер участка

Группа: Участник
Сообщений: 349



Привет, народ !

У меня в Memo загружено содержимое файла в кодировке Win. Как мне перевести это содержимое в кодировку DOS и KOI8-R и обратно соответственно ?

Спасибо за внимание !
Aptem
Отправлено: 28.10.2003, 17:39


Мастер участка

Группа: Участник
Сообщений: 349



Ну неужели никто не знает...
Admin
Отправлено: 28.10.2003, 18:35


Владимир

Группа: Администратор
Сообщений: 1190



CharToOem() OemToChar()
exp
Отправлено: 07.11.2003, 23:47


Мастер участка

Группа: Участник
Сообщений: 304



Вот... встретилось, и как раз про вопрос вспомнил.

CODE

AnsiString S,N,C,SKoi,SWin;
SKoi="__ёАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя";
SWin="ёЁTюабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ";
int k;
S="Строка"; //Строка WIN
for(int j=1; j<=S.Length(); j++)
{
C=S[j];
k=AnsiPos(C,SWin);
if(k==0)
N+=S[j];
  else
  N+=SKoi[k];
}

//N строка Koi8
Да, сразу расколюсь, КОД НЕ МОЙ, поэтому с сопровождением могут быть проблемы.
Однако...
Строки SKoi и SWin — не белеберда, они должны быть такими, как здесь.
Скорее всего они задают соответствие одного символа другому.
Обратное преобразование, вероятно, по аналогии.

Отредактировано exp — 08/11/2003, 00:50
Aptem
Отправлено: 08.11.2003, 14:18


Мастер участка

Группа: Участник
Сообщений: 349



Спасибо...попробую...

Вернуться в Вопросы программирования в C++Builder