首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >msgpack: haskell & python

msgpack: haskell & python
EN

Stack Overflow用户
提问于 2014-09-20 15:40:25
回答 1查看 370关注 0票数 4

我对msgpack的哈斯克尔python客户机之间的差异感到困惑。这是:

代码语言:javascript
复制
import Data.MessagePack as MP
import Data.ByteString.Lazy as BL

BL.writeFile "test_haskell" $ MP.pack (0, 2, 28, ())

这是:

代码语言:javascript
复制
import msgpack

with open("test_python", "w") as f:
    f.write(msgpack.packb([0, 2, 28, []]))

给我不同的文件:

代码语言:javascript
复制
$ diff test_haskell test_python
Binary files test_haskell and test_python differ

有人能解释我做错了什么吗?也许我误解了ByteString的使用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-20 16:19:14

Haskell中的空元组()不像Python中的空元组或空列表。它类似于Python中的None。(在msgpack上下文中)。

因此,要获得相同的结果,请将haskell程序更改为:

代码语言:javascript
复制
MP.pack (0, 2, 28, [])  -- empty list

或者将python程序更改为:

代码语言:javascript
复制
f.write(msgpack.packb([0, 2, 28, None]))

看个演示。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25950447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档