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出來的多了個(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ì)編碼比較熟悉的伙伴直接看出來這是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 代. 無與倫比"}]}'
三、簡(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 代. 無與倫比'}]}
到此這篇關(guān)于python二進(jìn)制串轉(zhuǎn)字符串的方法詳解的文章就介紹到這了,更多相關(guān)python二進(jìn)制串轉(zhuǎn)字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中Windows和macOS文件路徑格式不一致的解決方法
在 Python 中,Windows 和 macOS 的文件路徑字符串格式不一致主要體現(xiàn)在路徑分隔符上,這種差異可能導(dǎo)致跨平臺(tái)代碼在處理文件路徑時(shí)出錯(cuò),下面我們看看如何解決吧2025-03-03
基于Python實(shí)現(xiàn)自制CV剪貼板功能
云桌面的win10不能調(diào)出剪貼板,對(duì)于CV工程師來說十分不方便,所以這篇文章主要介紹了如何使用Python實(shí)現(xiàn)一個(gè)CV剪貼板,提升常用語句的復(fù)制粘貼效率,感興趣的可以了解下2024-02-02
python將word的doc另存為docx的實(shí)現(xiàn)方案
在 Python 中,你可以使用 python-docx 庫(kù)來操作 Word 文檔,不過需要注意的是,.doc 是舊的 Word 格式,而 .docx 是新的基于 XML 的格式,python-docx 只能處理 .docx 格式,需要的朋友可以參考下2025-08-08
Python實(shí)現(xiàn)登陸文件驗(yàn)證方法
本篇文章中我們給大家分享了關(guān)于Python實(shí)現(xiàn)登陸文件驗(yàn)證的方法和技巧,有興趣的朋友們參考學(xué)習(xí)下。2018-10-10
安裝pycurl報(bào)錯(cuò)Could not run curl-config: &ap
這篇文章主要為大家介紹了安裝pycurl報(bào)錯(cuò)Could not run curl-config: 'curl-config'解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Python中內(nèi)存管理機(jī)制與優(yōu)化技巧分享
這篇文章主要來和大家簡(jiǎn)單聊一聊Python中的內(nèi)存管理,從而可以幫助大家寫出更高效,優(yōu)化內(nèi)存占用的 Python 代碼,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-04-04
學(xué)習(xí)Django知識(shí)點(diǎn)分享
在本篇文章里小編給大家整理的是關(guān)于學(xué)習(xí)Django的一些心得知識(shí)點(diǎn),對(duì)此有興趣的朋友們可以參考下。2019-09-09

