==和is的區別 以及編碼和解碼

Bound_w發表於2018-08-02

1、==和is的區別

==是比較    比較兩邊的值

is是 比較記憶體     記憶體用id()

 

數字小資料池的範圍 -5 ~ 256
字串中如果有特殊字元他們的記憶體地址就不一樣
字串中單個*20以內他們的記憶體地址一樣,單個*21以上記憶體地址不一致

   在列表,元組,字典中,如果列表,元組,字典和它被比較的列表,元組,字典內容相同,
# 輸出的結果是False

2、編碼和解碼

ascci碼

不支援中文,支援英文,數字,符號   每8位一個位元組

gbk國標碼

支援中文,英文,數字,符號

英文  中文都是16位,兩個位元組

unicode 萬國碼

支援中文,英文,數字,符號

英文32位,四個位元組

中文32位,四個位元組

utf-8 長度可變的萬國碼 最少用8位


英文 8位 一個位元組
中文 24位 三個位元組
Python3中 程式執行階段 使用的是unicode   顯示所有的內容

bytes型別

傳輸和儲存都是使用bytes

pycharm 儲存的時候預設是使用utf-8

編碼和解碼

encode(編碼方式) ---- 拿到明文編碼後對應的位元組

decode(編碼方式) -----將編碼後的位元組解碼成對應的明文
 
# a="今天又是元氣滿滿的一天"
# b =a.encode('utf-8')
# # print(b)
# c=b'\xe4\xbb\x8a\xe5\xa4\xa9\xe5\x8f\x88\xe6\x98\xaf\xe5\x85\x83\xe6\xb0\x94\xe6\xbb\xa1\xe6\xbb\xa1\xe7\x9a\x84\xe4\xb8\x80\xe5\xa4\xa9'
# d =c.decode('utf-8')
# print(d)

 


 

 

相關文章