在Python中将byteString key:value对字典转换为String

python中的字节字符串是一个以字母b开头的字符串。在本文中,我们将看到如何将具有字节码字符串的字典转换为仅表示字符串的普通字典。

带解码和ASCII

Python字符串方法decode()使用注册用于编码的编解码器解码字符串。默认为默认字符串编码。通过将ascii作为参数提供给解码函数,我们使用它将字节码值转换为正常的asci值。

示例

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'}