URL 编码问题

当从浏览器的地址栏复制一串含有非 ASCII 字符的网页链接时,很可能会从 https://zh.wikipedia.org/wiki/链接 得到 https://zh.wikipedia.org/wiki/%E9%93%BE%E6%8E%A5 这样复杂、被编码后的链接,因为 URL 不支持 ASCII 字符集以外的 Unicode,比如汉字、西里尔字母和阿拉伯字母等。

2002年,互联网工程任务组 (IETF) 推出了向前兼容的国际化资源标识符 (IRI),这让链接包含中文字符成为了标准,而为了向前兼容 URL,就使用了 百分号编码,让「汉字」被百分比符号转义成「%E6%B1%89%E5%AD%97」。

缓解办法:桌面版 Firefox 可以进入 about:config 菜单,修改 browser.urlbar.decodeURLsOnCopy 为 true,重启浏览器后就能直接复制未被编码的 IRI 了。如果是 Chrome 等其他的浏览器,推荐使用 爱你哟mua编写的小书签,点击一下就能复制到剪贴板,安全、简单。

主要参考自: Jan Martin Kei, 《IRI, URI, URL, URN and their differences

#原理 #指南 #小书签
 
 
Back to Top