Python 中,將字典的位元組字串鍵值對轉換為字串


Python 中的位元組字串會在其前加上英文字母 b 來表示。在本文中,我們將瞭解如何將帶有位元組程式碼字串的字典轉換為僅表示字串的普通字典。

使用解碼和 ascii

Python 字串方法 decode() 使用註冊為編碼的編解碼器對字串進行解碼。它預設為預設字串編碼。我們使用它透過將 ascii 作為解碼函式的引數,將位元組程式碼值轉換為普通的 ascii 值。

示例

 動態演示

bstring = {b'day': b'Tue', b'time': b'2 pm', b'subject': b'Graphs'}
print(bstring)
# Use decode
stringA = {y.decode('ascii'): bstring.get(y).decode('ascii') for y in bstring.keys()}
# Result
print(stringA)

輸出

執行以上程式碼,將得到以下結果 −

{'subject': 'Graphs', 'day': 'Tue', 'time': '2 pm'}
{u'time': u'2 pm', u'day': u'Tue', u'subject': u'Graphs'}

使用解碼和 utf-8

我們可以採用與上面類似的方法,但這次使用 utf-8。設計一個關鍵字值對的 for 迴圈,並對每個對進行迭代,以將值轉換為 utf-8 表示。

示例

 動態演示

bstring = {b'day': b'Tue', b'time': b'2 pm', b'subject': b'Graphs'}
print(bstring)
# Use decode
stringA = {}
for key, value in bstring.items():
   stringA[key.decode("utf-8")] = value.decode("utf-8")
# Result
print(stringA)

輸出

執行以上程式碼,將得到以下結果 −

{'subject': 'Graphs', 'day': 'Tue', 'time': '2 pm'}
{u'time': u'2 pm', u'day': u'Tue', u'subject': u'Graphs'}

更新時間: 20-May-2020

865 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.