【URL编码】python将中文编码成URL编码格式_python将文本转换为 url百分号-CSDN博客
Intro
在Python中,可以使用urllib.parse
模块中的quote
函数来将中文编码成URL编码格式(也称为百分号编码)。下面是一个例子:
from urllib.parse import quote
# 需要编码的中文字符串
text = "中文"
# 编码
encoded_text = quote(text)
print(encoded_text)
""" 输出
%E4%B8%AD%E6%96%87
"""
“%E4%B8%AD%E6%96%87” 是使用UTF-8编码的中文字符“中文”的URL编码(也称为百分号编码)。在这种编码方式中,每个中文字符都被编码成一个由百分号和两位十六进制数字组成的序列。
UTF-8编码是一种可变长度的编码方式,它可以将每个Unicode字符编码为1到4个字节。对于基本的多语言平面(BMP)内的字符,包括所有的常用汉字,UTF-8使用3个字节来表示。
下面是“中文”两个字符在UTF-8编码中的字节表示:
-
“中”字的UTF-8编码是
E4 B8 AD
。 -
“文”字的UTF-8编码是
E6 96 87
。
将这些字节转换为URL编码,就是将每个字节的十六进制值前面加上%
符号。因此,我们得到了以下URL编码:
-
“中”字的URL编码是
%E4%B8%AD
。 -
“文”字的URL编码是
%E6%96%87
。
将它们放在一起,就得到了 %E4%B8%AD%E6%96%87
,这是“中文”两个字的URL编码表示。
反编码
在浏览器中,常常可以看到这种百分号编码,如果想要知道其中的意义,就使用反编码代码
from urllib.parse import unquote
a = '%E6%9D%BE%E9%98%B3%20-%20%E6%98%9F%E7%A9%BA%E8%90%A5%E5%9C%B0/Untitled.jpeg'
print(unquote(a))
""" 输出
松阳 - 星空营地/Untitled.jpeg
"""
[文章导入自 http://qzq-go.notion.site/9533005d7f734e77b4182ad3ed290ce0 访问原文获取高清图片]