|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Eugene Grosbein 2:5006/1 15 Aug 2000 18:45:19 To : Victor Sudakov Subject : Re: urlencoded -> koi8-r -------------------------------------------------------------------------------- >Коллеги. > >Hет ли у кого готового фильтра (или скрипта на sed) для сабжевого >преобразования? Алгоритм туп: unsigned char hd2char(unsigned char c) { if(c>='0' && c<='9') return c-'0'; else if(c>='A' && c<='F') return c-'A'+10; else if(c>='a' && c<='f') return c-'a'+10; #ifndef NDEBUG fprintf(stderr,"warning: hd2char: %d\n",(int)c); #endif return c; } void printcodes(unsigned char* s) { while(*s!=0) { if(*s=='+') { putchar(' '); s++; } else if(*s!='%') { putchar(*s); s++; } else if(*(s+1)=='%') { putchar('%'); s+=2; } else { putchar(hd2char(*(s+1))*16+hd2char(*(s+2))); s+=3; } } } Оптимизировать - дело компилятора. Eugene --- slrn/0.9.6.2 (FreeBSD) * Origin: SVZ-Service (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/2609374f13ead.html, оценка из 5, голосов 10
|