Python字符串本身作為bytes進(jìn)行解碼的問題
問題描述
字符串本身作為 bytes
s = '\xe4\xbd\xa0\xe5\xa5\xbd'
解決方案
s.encode('raw_unicode_escape').decode()
s = '\xe4\xbd\xa0\xe5\xa5\xbd' b = s.encode('raw_unicode_escape') s = b.decode() print(b) # b'\xe4\xbd\xa0\xe5\xa5\xbd' print(s) # 你好
參考文獻(xiàn)
String to Bytes Python without change in encoding
Python字符串如何轉(zhuǎn)為bytes對象?Python字符串和bytes類型怎么互轉(zhuǎn)
在python之中字符串是最基礎(chǔ)的數(shù)據(jù)類型之一,而它實際上是由多個字符所連接起來組成的序列,那么想要將字符串轉(zhuǎn)為bytes字節(jié)串就需要使用到特殊的方法了。本篇文章會來給大家介紹一下python字符串是如何與bytes類型互轉(zhuǎn)的,感興趣的話就一起往下看看吧。
(1)字節(jié)指的是計算機(jī)上面用來表示存儲值的一種計量單位,但是它放在python里面的話就是一種數(shù)據(jù)類型,這個數(shù)據(jù)類型的名稱為bytes??梢詫⑵淇醋鍪嵌M(jìn)制字節(jié)格式的python中表示,它顯示在python中的形式為字符串前加上小寫字母b。
而要將一個字符串轉(zhuǎn)為bytes類型需要使用到encode()函數(shù),這個函數(shù)的意思就是編碼。只需要在編碼方法內(nèi)傳入表示中文的utf-8參數(shù)即可將其轉(zhuǎn)為bytes對象,因為這個方法的本質(zhì)作用就是把python數(shù)據(jù)轉(zhuǎn)為可以通用的計算機(jī)數(shù)據(jù)格式,代碼如下:
test_str?=?'my?name?is?HanMeimei' bytes_str?=?test_str.encode('utf-8') print(bytes_str) print(type(bytes_str)) #?結(jié)果 b'my?name?is?HanMeimei' <class?'bytes'>
(2)那么要將bytes類型的對象轉(zhuǎn)為python字符串類型的話也就是使用對應(yīng)的方法,該方法就是decode(),翻譯過來就是解碼的意思。它在調(diào)用是也需要傳入?yún)?shù)值utf-8,作用是將utf-8編碼的bytes類型數(shù)據(jù)轉(zhuǎn)為python類可以去直接解析和輸出打印顯示的字符串類型,代碼示例如下所示:
test_str?=?bytes_str.decode('utf-8')
到此這篇關(guān)于Python字符串本身作為bytes進(jìn)行解碼的文章就介紹到這了,更多相關(guān)Python bytes解碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
linux下安裝python3和對應(yīng)的pip環(huán)境教程詳解
這篇文章主要介紹了linux下安裝python3和對應(yīng)的pip環(huán)境,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07Python pandas讀取CSV文件的注意事項(適合新手)
這篇文章主要給大家介紹了關(guān)于Python pandas讀取CSV文件的注意事項,非常適合新手,csv是我接觸的比較早的一種文件,比較好的是這種文件既能夠以電子表格的形式查看又能夠以文本的形式查看,需要的朋友可以參考下2021-06-06