将解码后的字节放入 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'}
我正在尝试将一些字节解码为 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'}