将百分号编码的URI字符串中的中文字符转换为UTF-8编码的中文字符?

3

好的,我不确定我是否表达正确,但我会提供以下形式的url:

http://zh.wikipedia.org/wiki/%E5%A4%A9%E6%96%87%E5%AD%B8

但我想将其转换为中文字符,如下所示:

http://zh.wikipedia.org/wiki/天文學

有什么好的批处理语言可以处理吗?有没有现成的函数可以进行转换,还是必须依赖字符串处理。似乎要进行转换需要调用查找表的某种方法。

我知道它们是相同的东西,但它们以不同的方式显示。我喜欢可读的字符,而不是使用%#之类的字符。


1
"ASCII String" 是 Unicode 文本的 (URL) 百分号编码。 (只有特定字符允许在 URI/URL 中使用,这些字符必须在将 "HTTP 请求" 发送到服务器之前进行编码。) - user166390
如果在Safari中打开URL,则会在URL位置显示http://zh.wikipedia.org/wiki/天文學,可以轻松复制粘贴。请注意,这不是UTF-8,而只是一个Unicode字符串的漂亮表示:UTF-8是此类Unicode字符字节序列的一种可能编码方式。 - user166390
Pst,谢谢你为我澄清这个问题。非常感谢。 - boobami
@JMax,感谢您指出这一点。但我不确定为什么有人要指出这个问题不是一个编程问题,因为它确实是一个编程问题。就这些。我是新手,但那似乎有点不礼貌。也许我只是老派。谢谢。 - boobami
@jih:首先,我建议您前往个人资料页面,返回以前的问题并接受更相关的答案。其次,您可以提出另一个问题,但请确保自己表达清楚。在您目前的问题中,您正在寻求一个“程序”。因此,这不是一个编程问题,而是一个用户问题,您可以尝试在http://superuser.com(类似于Stackoverflow的网站)上提问。如果仍然是一个编程问题,请尽量解释清楚。问题越好,答案就越好。祝您找到所需的内容。 - JMax
1个回答

3

在JavaScript中

alert(decodeURI("http://zh.wikipedia.org/wiki/%E5%A4%A9%E6%96%87%E5%AD%B8"))​

请查看http://jsfiddle.net/rtoal/uv2Xy/了解更多信息。

对于其他语言,请在互联网上搜索“url解码”(或uri解码)。


Ray,谢谢。这会给我一些方向去寻找。 - boobami
我还发现Python有一个带有unquote函数的urllib。如果我在终端中输入它,它也会正确解码。 - boobami
import urllib urllib.unquote('%E5%A4%A9%E6%96%87%E5%AD%B8') '\xe5\xa4\xa9\xe6\x96\x87\xe5\xad\xb8' print urllib.unquote('%E5%A4%A9%E6%96%87%E5%AD%B8') 天文学
- boobami

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接