python3的url編碼和解碼,自定義gbk、utf-8
阿新 • • 發佈:2019-01-04
因為很多時候要涉及到url的編碼和解碼工作,所以自己製作了一個類,廢話不多說 碼上見!
# coding:utf-8 import urllib.parse class Urlchuli(): """Url處理類,需要傳入兩個實參:Urlchuli('實參','編碼型別'),預設utf-8 url編碼方法:url_bm() url解碼方法:url_jm()""" def __init__(self,can,mazhi='utf-8'): self.can = can self.mazhi = mazhi def url_bm(self): """url_bm() 將傳入的中文實參轉為Urlencode編碼""" quma = str(self.can).encode(self.mazhi) bianma = urllib.parse.quote(quma) return bianma def url_jm(self): """url_jm() 將傳入的url進行解碼成中文""" quma = str(self.can) jiema = urllib.parse.unquote(quma,self.mazhi) return jiema
url解碼呼叫方法:
# coding:utf-8
from urlbm import Urlchuli
a = Urlchuli('%B2%E2%CA%D4%CA%C7%B7%F1%B3%C9%B9%A6','gbk') # 第一個是傳入的實參,第二個是需要url解碼的型別,可以是utf-8、gbk或其他
print(a.url_jm()) # 列印結果:測試是否成功(這裡需要注意,如果是utf-8會出現亂碼)
url編碼呼叫方法:
# coding:utf-8 from urlbm import Urlchuli a = Urlchuli('測試是否成功','gbk') # 第一個是傳入的實參,第二個是選填url編碼的型別(預設utf-8),可以是utf-8、gbk或其他 print(a.url_bm()) # 列印結果:%B2%E2%CA%D4%CA%C7%B7%F1%B3%C9%B9%A6