将解码后的字节放入 dict 中会变回原始状态吗?

Putting decoded bytes in dict changes back to original?

我正在尝试将一些字节解码为 ASCII,但是当解码为 ASCII 并将其放入字典时,它会变回字节格式 (?)

b = b'Hello\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

print(b.decode('ascii')) # Hello
converted = b.decode('ascii')
print(converted, type(converted))  # Hello <class 'str'>

test_dict = {}
test_dict["converted"] = converted
print(test_dict) # {'converted': 'Helloo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'} ???

有人知道这是怎么回事吗?

如果您要删除 null character \x00,请使用 replace:

converted = b.decode('ascii').replace("\x00", "")

使用您的词典代码,您将获得:

{'converted': 'Hello'}