簡體   English   中英

將鍵:值對從bytestring轉換為string的最佳方法是什么?

[英]What is the best way to convert key:value pairs from bytestring to string?

讓我們說我有一個詞典:

{b'Name': b'John', b'age': b'43'}

什么是將其轉換為的最佳方式:

{'Name': 'John', 'age': '43'}

(考慮到可以有任意數量的鍵:值對)

這就是我現在所擁有的:

new_d = dict()
old_d = {b'Name': b'John', b'age': b'43'}

for item in old_d:
    print(item, old_d[item])
    new_d[item.decode('ascii')] = old_d[item].decode('ascii')
    print(new_d)

輸出:

{'Name': 'John', 'age': '43'}
d = { b'Name': b'John', b'age': b'43' }
d = { x.decode('ascii'): d.get(x).decode('ascii') for x in d.keys() }

嘗試這個:

x = {b'Name': b'John', b'age': b'43'}

y = {}

for key, value in x.items():
    y[key.decode("utf-8")] = value.decode("utf-8")

y
> {'Name': 'John', 'age': '43'}

我現在無法對此進行測試,但您應該能夠將所有內容解碼為新詞典。 你應該指定編碼 - 我認為UTF-8是一個很好的默認值。

enc = 'utf-8'
s = {k.decode(enc), v.decode(enc) for k, v in d.items()}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM