python 的基础 学习 第七天 is id 编码的补充
1,==
兩個(gè)等號(hào)比較的是數(shù)值,is比較的是內(nèi)存地址。print(id())查看的內(nèi)存地址。
小數(shù)據(jù)池只存在于數(shù)字與字符串中,數(shù)字 ? 是 -5^^256,是為了節(jié)省空間。
字符串1,如果含有特殊字符,不存在小數(shù)據(jù)池,單個(gè)字符串('a')*int ? int>20不存在于小數(shù)據(jù)池
其他都不存在小數(shù)據(jù)池。
is 比較的是id 地址print(a is? b)
2,數(shù)據(jù)類型byte與str字符串的操作方法一樣。
? ?? 1,編碼之間的二進(jìn)制互不識(shí)別
? ?? 2,存儲(chǔ)和傳輸是010101。但不能是Unicode的二進(jìn)制。
3,python3x中的str在內(nèi)存中的編碼是unicode,python3x中的字符串不能直接存儲(chǔ)和傳輸。
4,
python3x 中的編碼:
??? python3x 中 str 在內(nèi)存中的編碼方式是unicode。python3x 中的str不能直接存儲(chǔ),和發(fā)送。
??? bytes 他的編碼方式是非unicode(utf-8,gbk,gb2012.....)。
??? 對(duì)于英文:
??????? str: 表現(xiàn)形式:s = 'laonanhai'
????????????? 內(nèi)部編碼:unicode
??????? bytes:
????????????? 表現(xiàn)形式:s = b'laonanhai'
????????????? 內(nèi)部編碼:非unicode.
??? 對(duì)于中文:
??????? str: 表現(xiàn)形式: s = '中國(guó)'
????????????? 內(nèi)部編碼:unicode
??????? bytes:????????????????? 00000001
????????????? 表現(xiàn)形式:s1 = b'\xe4\xb8\xad\xe5\x9b\xbd'
????????????? 內(nèi)部編碼:非unicode.
?5,是由 unicode編碼成utf-8的byte類型。
s = '中國(guó)' s1 = s.encode('utf-8') print(s1) #b'\xe4\xb8\xad\xe5\x9b\xbd' 由 unicode 編碼成 gbk 的byte類型s = 'alex' s2 = s.encode('gbk') print(s2)#b'alex'
由 utf-8 解碼成unicode
s = 'alex' s1 = s.encode('utf-8') s2 = s.encode('gbk') s3 = s1.decode('utf-8')#decode解碼 print(s3)由gbk 先轉(zhuǎn)化成unicode 再變成utf-8
s = 'alex' s1 = s.encode('gbk') s2 = s1.decode('gbk').encode('utf-8')#由gbk 先轉(zhuǎn)化成unicode 再變成utf-8 print(s2)#b'alex'?
轉(zhuǎn)載于:https://www.cnblogs.com/yzxing/p/8633592.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的python 的基础 学习 第七天 is id 编码的补充的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot 自动配置
- 下一篇: 捷捷微电投资价值 请找准目标