【发布时间】:2010-11-24 20:17:28
【问题描述】:
许多网站(如 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;
}
用法示例:
# 回显 “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/עמוד_ראשי
【问题讨论】: