python2中的字符串编码注意事项
生活随笔
收集整理的這篇文章主要介紹了
python2中的字符串编码注意事项
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、不同編碼之間進(jìn)行轉(zhuǎn)換的橋梁是最上層的字符集。
2、python2的字符本質(zhì)是一種二進(jìn)制碼。
python環(huán)境下:
如圖所示:
?
從打印出來的信息看,s本質(zhì)是一個(gè)十六進(jìn)制。所以需要解碼 。
代開發(fā)票xxxxxxxx錢相同字符串,不同編碼規(guī)則下的,十六進(jìn)制: '\xe4\xbb\xa3\xe9\x96\x8b\xe5\x8f\x91\xe7\xa5\xa813537741120\xe9\x92\xb1' != '\xb4\xfa\xe9_\xb7\xa2\xc6\xb113537741120\xc7\xae'所以比較需要使用什么飯的編碼規(guī)則進(jìn)行比較。 所以需要:底層二進(jìn)制-->相應(yīng)的正確解碼規(guī)則-->最上層的字符集-->任意的編碼規(guī)則-->編碼規(guī)則下相應(yīng)的二進(jìn)制python3:
>>> s="你好" >>> type(s) <class 'str'> >>> s '你好' >>> s.decode("utf-8") Traceback (most recent call last):File "<stdin>", line 1, in <module> AttributeError: 'str' object has no attribute 'decode' >>> s.encode("utf-8") b'\xe4\xbd\xa0\xe5\xa5\xbd' >>>python3中字符串是最上層的字符集,所以不能進(jìn)行解碼的。只有編碼。
總結(jié)
以上是生活随笔為你收集整理的python2中的字符串编码注意事项的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: \u与\x的区别
- 下一篇: python 中反斜杠在字符串过长的正确