我将python3.6与msgpack==0.5.1
和msgpack_numpy==0.4.2
一起使用。在
当试图对dict
进行编码和解码时,要使用utf-8
处理的字符串needs将dict的密钥还原为字符串(而不是二进制文件)。在
例如:
import msgpack
d = {'key': None}
binary = msgpack.packb(d)
ret = msgpack.unpackb(binary)
ret.keys()
>>> dict_keys([b'key'])
ret = msgpack.unpackb(binary, encoding='utf-8')
ret.keys()
>>> dict_keys(['key'])
但是,当使用msgpack_numpy
时,传递encoding='utf-8'
会阻止numpy
解码:
是否可以使用msgpack
对numpy
数组进行编码/解码,而不将dict的键替换为二进制?在
我摆弄了不同的打包选项,发现在打包对象时使用
use_bin_type=True
可以解决问题。在相关问题 更多 >
编程相关推荐