python二進(jìn)制串轉(zhuǎn)字符串的方法詳解
一、不含中文
首先明確b'xxx'這種樣式的不是字符串類型,而是二進(jìn)制數(shù)據(jù):
In [1]: s = 'hello world' In [2]: s.encode('ascii') Out[2]: b'hello world' In [3]: type(s) Out[3]: str In [4]: type(s.encode('ascii')) Out[4]: bytes
如果不含中文,直接使用str/decode均可,但str出來(lái)的多了個(gè)b',需要注意:
In [5]: b = s.encode('ascii') In [6]: b Out[6]: b'hello world' In [7]: str(b) Out[7]: "b'hello world'" In [8]: b.decode('utf-8') Out[8]: 'hello world'
二、含有中文
假設(shè)得到一個(gè)這樣的二進(jìn)制串:
b'\xe5\x93\x88\xe5\x96\xbd'
如果對(duì)編碼比較熟悉的伙伴直接看出來(lái)這是utf-8編碼的二進(jìn)制串,此時(shí)直接解碼即可:
In [15]: b Out[15]: b'\xe5\x93\x88\xe5\x96\xbd' In [16]: b.decode('utf-8') Out[16]: '哈嘍'
假設(shè)得到一個(gè)這樣的二進(jìn)制串:
b'{"errno":0,"data":[{"k":"\\u5468\\u6770\\u4f26","v":"\\u540d. Jay Chou; The New King of Asian Pop \\u4ee3. \\u65e0\\u4e0e\\u4f26\\u6bd4"}]}'
\u開頭稍微有點(diǎn)陌生,但搜索一下可以查到解碼方法:
In [17]: b'{"errno":0,"data":[{"k":"\\u5468\\u6770\\u4f26","v":"\\u540d. Jay Cho ...: u; The New King of Asian Pop \\u4ee3. \\u65e0\\u4e0e\\u4f26\\u6bd4"}]}' ...: .decode('unicode_escape') Out[17]: '{"errno":0,"data":[{"k":"周杰倫","v":"名. Jay Chou; The New King of Asian Pop 代. 無(wú)與倫比"}]}'
三、簡(jiǎn)便方法
上述方法需要提前知道編碼,有一種簡(jiǎn)便方法:使用json,可以自動(dòng)檢測(cè)編碼,但需要注意的是,它返回的是python對(duì)象,不一定是字符串,具體是什么對(duì)象要視原始內(nèi)容而定:
In [20]: json.loads(b'{"errno":0,"data":[{"k":"\\u5468\\u6770\\u4f26","v":"\\u540d. Jay Chou; The New King of Asian Pop \\u ...: 4ee3. \\u65e0\\u4e0e\\u4f26\\u6bd4"}]}') Out[20]: {'errno': 0, 'data': [{'k': '周杰倫', 'v': '名. Jay Chou; The New King of Asian Pop 代. 無(wú)與倫比'}]}
到此這篇關(guān)于python二進(jìn)制串轉(zhuǎn)字符串的方法詳解的文章就介紹到這了,更多相關(guān)python二進(jìn)制串轉(zhuǎn)字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)七彩蟒蛇繪制實(shí)例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)七彩蟒蛇繪制實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01基于keras 模型、結(jié)構(gòu)、權(quán)重保存的實(shí)現(xiàn)
今天小編就為大家分享一篇基于keras 模型、結(jié)構(gòu)、權(quán)重保存的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-01-01python輸出結(jié)果刷新及進(jìn)度條的實(shí)現(xiàn)操作
這篇文章主要介紹了python輸出結(jié)果刷新及進(jìn)度條的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-07-07