您好,登錄后才能下訂單哦!
今天小編給大家分享一下python編碼和解碼是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
編碼和解碼
編碼和解碼
encode(編碼) ---- 拿到明文編碼后對應的字節(二進制)
decode(解碼) -----將編碼后的字節(二進制)解碼成對應的明文
#-*-encoding:utf-8 -*- -----表示有中文時采用utf-8編碼形式進行編碼。
ASCII碼 不支持中文
支持 英文、數字、符號
8位 1個字節
gbk國際 支持中文、英文、數字、符號,必須兼容ASCII碼
英文 16位 2個字節
中文 16位、 2個字節
Unicode 萬國碼 必須兼容ASCII碼
支持中英文、數字、符號
英文 32位 4個字節
中文 32位 4個字節
utf-8 長度可變的萬國碼 最少用8位
英文 8位 1個字節
歐洲 16位 2個字節
中文 24位 3個字節
python2版本用的ASCII碼
python3 程序運行時,使用的是unicode,顯示所有內容。
bytes類型: 傳輸和存儲都使用的是bytes類型
pycharm 存儲時默認使用utf-8編碼
s = '餓了嗎'
s1 = s.encode('gbk') #編碼,gbk碼,一個漢字2兩字節
print(s1) #b'\xb6\xf6\xc1\xcb\xc2\xf0',\xb6算一個字節
s2 = s1.decode('gbk') #解碼
print(s2)
print(s.encode('utf-8'))
a = '大佬'
print(a.encode('utf-8')) #b'\xe5\xa4\xa7\xe4\xbd\xac',兩個漢字,六個字節,用gbk解碼,兩個字節一個漢字,則gbk解碼應該是三個漢字
print(a.encode('utf-8').decode('gbk')) #澶т漿,utf-8編碼,gbk解碼
#注意用什么編碼就用什么解碼
b = '中國'
print(b.encode('gbk')) #編碼 -----b'\xd6\xd0\xb9\xfa'
print(b.encode('gbk').decode('gbk')) #先編碼再解碼----中國
a = '謙虛'
b = '謙虛'
print(id(a),id(b))
ls = [1,3,4,'哈哈']
ls2 = [1,3,4,'哈哈']
print(id(ls),id(ls2)) #列表內存地址不同
print(not ls is ls2) #True
print(id(ls[-1]),id(ls2[-1])) #提取元素,但相同元素內存地址是相同的 47059648 47059648
ls = [1,3,4,'哈哈']
ls2 = [1,3,4,'哈皮']
print(id(ls[-1]),id(ls2[-1]))#47059648 47061664
#以上說明字符串占內存中占據某個位置,第二次只需調用該內存地址下的字符串即可,不再創建。省內存
#當字符串中包含特殊字符時,內存地址不同
a = [1,2,3]
b = a
c = b
print(a == c) #比較值 ,因為只創建一次列表,記住問題:有沒有創建新的緩存,答案是沒有
print( a is c) #比較內存地址,三個變量都指向一個列表,故內存地址相同
#比較內存地址時,要看創建了幾次列表,這樣記憶,創建一次列表,內存地址相同,創建多次列表,地址不同,但字符串不適用。
a = [1,3,4]
b = [1,3,4]
c = b
print(a == c) #True
print(a is b) #fasle
print(a is c) #false
s = '你好'
print(s.encode('gbk')) #b'\xc4\xe3\xba\xc3\xc2\xf0'
c = b'\xc4\xe3\xba\xc3\xc2\xf0'
print(c.decode('gbk'))#解碼
print(s.encode('utf-8')) #b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x90\x97'
print(s.encode('utf-8').decode('gbk')) #浣犲ソ,用什么編碼就用什么解碼,這種解碼無意義
以上就是“python編碼和解碼是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。