Поиск:

Ответ в темуСоздание новой темы Создание опроса
> koi8->win1251 и на оборот, конвертирование строк 
:(
    Опции темы
chaos
Дата 18.1.2005, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 4
Всего: 44



Подскажите есть ли функции конвертации строк из кои8 в вин и на оборот smile
PM WWW   Вверх
Mad
Дата 18.1.2005, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 2
Всего: 19



Код

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef unsigned char uchar;

static uchar ai[] = {176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
             192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
             208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
             136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,
             152,153,154,129,156,157,158,159,160,161,162,163,164,165,166,167,
             168,169,170,171,172,173,174,175,240,241,242,243,244,245,246,247,
             224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
             130,132,135,134,128,133,131,155,248,249,250,251,252,253,254,255};

static uchar ak[] = {225,226,247,231,228,229,246,250,233,234,235,236,237,238,239,240,
             242,243,244,245,230,232,227,254,251,253,255,249,248,252,224,241,
             193,194,215,199,196,197,214,218,201,202,203,204,205,206,207,208,
             136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,
             152,153,154,129,156,157,158,159,160,161,162,163,164,165,166,167,
             168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,
             210,211,212,213,198,200,195,222,219,221,223,217,216,220,192,209,
             130,132,135,134,128,133,131,155,184,185,186,187,188,189,190,191};

static uchar aw[] = {192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
             208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
             224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
             136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,
             152,153,154,129,156,157,158,159,160,161,162,163,164,165,166,167,
             168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,
             240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,
             130,132,135,134,128,133,131,155,184,185,186,187,188,189,190,191};

static uchar ia[] = {244,195,240,246,241,245,243,242,176,177,178,179,180,181,182,183,
             184,185,186,187,188,189,190,191,192,193,194,247,196,197,198,199,
             200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,
             128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
             144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
             160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
             224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
             216,217,218,219,220,221,222,223,248,249,250,251,252,253,254,255};

static uchar ik[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
             144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
             160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
             225,226,247,231,228,229,246,250,233,234,235,236,237,238,239,240,
             242,243,244,245,230,232,227,254,251,253,255,249,248,252,224,241,
             193,194,215,199,196,197,214,218,201,202,203,204,205,206,207,208,
             210,211,212,213,198,200,195,222,219,221,223,217,216,220,192,209,
             176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191};

static uchar iw[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
             144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
             160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
             192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
             208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
             224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
             240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,
             176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191};

static uchar ka[] = {244,195,240,246,241,245,243,242,176,177,178,179,180,181,182,183,
             184,185,186,187,188,189,190,191,192,193,194,247,196,197,198,199,
             200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,
             216,217,218,219,220,221,222,223,248,249,250,251,252,253,254,255,
             238,160,161,230,164,165,228,163,229,168,169,170,171,172,173,174,
             175,239,224,225,226,227,166,162,236,235,167,232,237,233,231,234,
             158,128,129,150,132,133,148,131,149,136,137,138,139,140,141,142,
             143,159,144,145,146,147,134,130,156,155,135,152,157,153,151,154};

static uchar ki[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
             144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
             160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
             240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,
             238,208,209,230,212,213,228,211,229,216,217,218,219,220,221,222,
             223,239,224,225,226,227,214,210,236,235,215,232,237,233,231,234,
             206,176,177,198,180,181,196,179,197,184,185,186,187,188,189,190,
             191,207,192,193,194,195,182,178,204,203,183,200,205,201,199,202};

static uchar kw[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
             144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
             160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
             176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
             254,224,225,246,228,229,244,227,245,232,233,234,235,236,237,238,
             239,255,240,241,242,243,230,226,252,251,231,248,253,249,247,250,
             222,192,193,214,196,197,212,195,213,200,201,202,203,204,205,206,
             207,223,208,209,210,211,198,194,220,219,199,216,221,217,215,218};

static uchar wa[] = {244,195,240,246,241,245,243,242,176,177,178,179,180,181,182,183,
             184,185,186,187,188,189,190,191,192,193,194,247,196,197,198,199,
             200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,
             216,217,218,219,220,221,222,223,248,249,250,251,252,253,254,255,
             128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
             144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
             160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
             224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239};

static uchar wi[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
             144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
             160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
             240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,
             176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
             192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
             208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
             224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239};

static uchar wk[] = {128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
             144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
             160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
             176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
             225,226,247,231,228,229,246,250,233,234,235,236,237,238,239,240,
             242,243,244,245,230,232,227,254,251,253,255,249,248,252,224,241,
             193,194,215,199,196,197,214,218,201,202,203,204,205,206,207,208,
             210,211,212,213,198,200,195,222,219,221,223,217,216,220,192,209};

static uchar *table;


void recode(char *cod,char *st)
{
table = NULL;
if(!strcmp(cod, "ai"))
  table = ai;
else if(!strcmp(cod, "ak"))
  table = ak;
else if(!strcmp(cod, "aw"))
  table = aw;
else if(!strcmp(cod, "ia"))
  table = ia;
else if(!strcmp(cod, "ik"))
  table = ik;
else if(!strcmp(cod, "iw"))
  table = iw;
else if(!strcmp(cod, "ka"))
  table = ka;
else if(!strcmp(cod, "ki"))
  table = ki;
else if(!strcmp(cod, "kw"))
  table = kw;
else if(!strcmp(cod, "wa"))
  table = wa;
else if(!strcmp(cod, "wi"))
  table = wi;
else if(!strcmp(cod, "wk"))
  table = wk;
else
   return;
   
int i;
int len=strlen(st);
if(len<=0)
   return;

for(int l=0;l<len;l++)
   {
   i=st[l];
   i &= 0377;
  if(i & 0200)
     i = table[i & 0177];
   st[l]=i;
   }
}



--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.1658 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.