许多网站(如google和wikipedia)都以十六进制编码非英文字符,并带有前导'%'符号。 我找了一个工具,我可以将URL管道进入它,当满足这样的%AA字符串时,会将这些符号转换回utf,以便我可以阅读它们。
因为我找不到一个,我自己用c写了它,我想和你分享,也许你会发现它很有用:
#include <stdio.h>
int main()
{
char c;
unsigned int i;
while (!feof(stdin))
{
if (0==fread(&c,1,1,stdin)) break;
if (c!='%') putchar(c);
else
{
if (scanf("%X",&i)==1) putchar(i);
else putchar('%');
}
}
return 0;
}
用法示例:
#echo “http://he.wikipedia.org/wiki/%D7%A2%D7%9E%D7%95%D7%93_%D7%A8%D7%90%D7%A9%D7%99” | ./dumpHex
结果:
http://he.wikipedia.org/wiki/עמוד_ראשי
答案 0 :(得分:1)
在VC ++中:
string dec = URLDecoder::decode(url)
PHP:
$d = urldecode($u)
爪哇:
String dec = URLDecoder.decode(url,"UTF-8");
等...