Python程式設計:URL網址連結中的中文編碼與解碼

彭世瑜發表於2018-05-11

網址連結中的中文編碼

  • 中文的gbk(GB2312)編碼: 一個漢字對應兩組%xx,即%xx%xx
  • 中文的UTF-8編碼: 一個漢字對應三組%xx,即%xx%xx%xx

可以利用百度進行URL編碼解碼 預設gbk

https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD

python3編碼解碼示例

# -*- coding: utf-8 -*-

# @File    : urldecode_demo.py
# @Date    : 2018-05-11

from urllib.request import quote, unquote

# 編碼

url1 = "https://www.baidu.com/s?wd=中國"

# utf8編碼,指定安全字元
ret1 = quote(url1, safe=";/?:@&=+$,", encoding="utf-8")
print(ret1)
# https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD

# gbk編碼
ret2 = quote(url1, encoding="gbk")
print(ret2)
# https%3A//www.baidu.com/s%3Fwd%3D%D6%D0%B9%FA


# 解碼
url3 = "https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD"

ret3 = unquote(url3, encoding='utf-8')
print(ret3)
# https://www.baidu.com/s?wd=中國

參考:
Python進行URL解碼

相關文章