char *url_encode(char const *s, int len, int *new_length)
{
unsigned char hexchars[] = "0123456789ABCDEF";
register unsigned char c;
unsigned char *to, *start;
unsigned char const *from, *end;
from = (unsigned char *)s;
end = (unsigned char *)s + len;
unsigned char * url_encode_buf= (unsigned char *) calloc(1, 120);
start = to = g_url_encode_buf;
while (from < end)
{
c = *from++;
if (c == ' ')
{
*to++ = '+';
}
else if ((c < '0' && c != '-' && c != '.') ||
(c < 'A' && c > '9') ||
(c > 'Z' && c < 'a' && c != '_') ||
(c > 'z'))
{
to[0] = '%';
to[1] = hexchars[c >> 4];
to[2] = hexchars[c & 15];
to += 3;
}
else
{
*to++ = c;
}
}
*to = 0;
if (new_length)
{
*new_length = to - start;
}
return (char *) start;
}
ascii码转utf8源码
最新推荐文章于 2023-10-12 15:03:34 发布