Dav*_*ver 5 python serialization
除了PyYAML之外,是否有正确处理unicode/ str?的安全Python数据序列化库?
例如:
>>> json.loads(json.dumps([u"x", "x"]))
[u'x', u'x'] # Both unicode
>>> msgpack.loads(msgpack.dumps([u"x", "x"]))
['x', 'x'] # Neither are unicode
>>> bson.loads(bson.dumps({"x": [u"x", "x"]}))
{u'x': [u'x', 'x']} # Dict keys become unicode
>>> pyamf.decode(pyamf.encode([u"x", "x"])).next()
[u'x', u'x'] # Both are unicode
Run Code Online (Sandbox Code Playgroud)
请注意,我想向串行是安全的(所以pickle和marshel都出来了),并且PyYAML是一种选择,但我不喜欢YAML的复杂性,所以我想知道是否有其他的选择.
编辑:似乎对我的数据的性质存在一些混淆.其中一些是Unicode(例如,名称),其中一些是二进制(例如,图像)...所以一个序列化库混淆unicode并且str对我来说就像一个混淆"42"和混淆的库一样无用42.
你试过伯特吗?
>>> import bert
>>> bert.decode(bert.encode([u"x", "x"]))
[u'x', 'x']
>>> bert.decode(bert.encode({"x":[u"x", "x"]}))
{'x': [u'x', 'x']}
Run Code Online (Sandbox Code Playgroud)
(要安装,您必须首先手动安装 erlastic,因为这个未完成的拉取请求)
| 归档时间: |
|
| 查看次数: |
1431 次 |
| 最近记录: |