1. 程式人生 > >python3的url編碼和解碼,自定義gbk、utf-8

python3的url編碼和解碼,自定義gbk、utf-8

因為很多時候要涉及到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 

珠三角地區