Преборазование DOS кодировки в Windows и обратно
|
Ниже приведены функции, меняющие кодировку передаваемой им строки и возвращают указатель на передаваемую строку.
//из DOS в Windows char* Decode_DOS_to_Win(char * str) { unsigned char *cstr=str;//"unsigned" - чтоб избежать предупреждений // "сдвигаем" код символов for(; *cstr; cstr++) { if(*cstr>=128 && *cstr<=175) *cstr+=64; else if(*cstr>=224 && *cstr<=239) *cstr+=16; else if(*cstr==252) *cstr=185; } return str; }
//из Windows в DOS char* Decode_Win_to_DOS(char * str) { unsigned char *cstr=str; // "сдвигаем" код символов for(;*cstr;cstr++) { if(*cstr>=240) *cstr-=16; else if(*cstr>=192) *cstr-=64; else if(*cstr==185) *cstr=252; } return str; }
|