gpt4 book ai didi

python - msgpack: haskell 和 python

转载 作者:太空狗 更新时间:2023-10-30 02:03:59 25 4
gpt4 key购买 nike

我对 haskell 之间的差异感到困惑和 python msgpack 的客户端。这:

import Data.MessagePack as MP
import Data.ByteString.Lazy as BL

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

还有这个:

import msgpack

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

给我不同的文件:

$ diff test_haskell test_python
Binary files test_haskell and test_python differ

谁能解释一下,我做错了什么?也许我误解了 ByteString 的用法?

最佳答案

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

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

MP.pack (0, 2, 28, [])  -- empty list

或者把python程序改成:

f.write(msgpack.packb([0, 2, 28, None]))

See a demo.

关于python - msgpack: haskell 和 python ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25950447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com