关于网络 URL 地址的编码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于网络 URL 地址的编码相关的知识,希望对你有一定的参考价值。

python 中 urllib 模块下的 urlencode 方法是专门用来生成合法的网络 url 的工具:

先看一个 urlencode 的编码示例:

urlencode 编码示例
技术分享图片

上述代码示例运行的结果如下:

![](null

http://i2.51cto.com/images/blog/201801/29/63834b3dfcf75fb6655bf0af1054b6fe.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
通过上面的代码运行示例,我们可以清楚的看到,对于usrname 中的字符“@”被翻译成了%40,并且把infos字典中的两对信息通过字符“&”连接了起来。
技术分享图片

那汉字是如何编码的,是按照 utf-8还是按照gb2312, 国际并没有规定,国际规范中让应用自行决定。

我们在下面的代码中在 url 中使用中文,看看urlencode 的效果:

urlencode 的中文编码示例

技术分享图片

上述代码示例运行的结果如下:
技术分享图片

我们可以看到,上述的中文字符“男”被翻译成了 utf-8的字符编码%E7%94%B7。所以在 python 程序文件中,url 中的中文字符是根据 coding 声明来编码的。这就是 python 应用的自行决定 。 我们在 python 程序中使用 urlencode 方法,不用操心 url 字符编码的细节,可提高不少编程效率。

?更多关于python语言方面的文章,请前往51Testing软件测试网。(http://www.51testing.com

以上是关于关于网络 URL 地址的编码的主要内容,如果未能解决你的问题,请参考以下文章

URL地址编码和解码

java里关于String的编码与解码

关于URL编码

关于URL编码

关于url传参中文乱码问题

请问一个关于URL中汉字编码解码的问题