вот нашел в своем проекте старом
str - указатель на строку которую будем преобразовывать
dst - указатель на буфер куда запишется результат
size размер буфера
por это походу порядок типа слева на право или справа налево
unsigned char str[]="22345200"; // типа 4 байта 22 34 52 00
unsigned long i;
ato(srt,(unsigned char *)&i,4);
ну а в твоем варианте в цикл надо добавить дополнительный i++; чтобы перепрыгивать % а патом byte[0] обратно преобразовать в ASCII прибавляя 0x57 или 0x30 (30 вроде для цифр)
сейчас опять порылся и нашел свой старый проект на perl в котором есть функция обратного преобразования в URL вид
Код:
sub url
{
my $str=$_[0];
$str=~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
return $str;
}
на Си это будет что-то типа
sprintf(&dst[k],"%%02X",str[i]); k+=3;
Последний раз редактировалось Gar|k; 11.12.2009 в 19:42..