您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中序列化二进制数据

在Python中序列化二进制数据

如果您只需要字符串中的二进制数据并且可以轻松地恢复各个字符串之间的边界,则可以将它们作为原始字符串直接写入文件中。

如果您不能轻松地恢复字符串边界,那么JSON似乎是一个不错的选择:

a = [b"abc\xf3\x9c\xc6", b"xyz"]
serialised = json.dumps([s.decode("latin1") for s in a])
print [s.encode("latin1") for s in json.loads(serialised)]

将打印

['abc\xf3\x9c\xc6', 'xyz']

这里的技巧是,任意二进制字符串都是有效的latin1,因此始终可以将它们解码为Unicode,然后再次编码回原始字符串。

python 2022/1/1 18:42:07 有303人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶