繁体   English   中英

Python序列化c#反序列化

[英]Python Serialisation c# Deserialisation

我有python服务器通过使用marshal模块序列化一些字典。 并将序列化消息发送到c#客户端套接字。 我如何在客户端(c#)端反序列化此消息。 由于执行速度有问题,我无法使用IronPython。

或者你知道在Python和c#之间序列化/反序列化“消息”的其他方法。

JSON怎么样? 你可以编写,甚至可以找到一个用于C#的de-Python-pickle-er,但像dict这样的东西很容易在JSON中表示,这是一个众所周知的,定义明确的标准,可靠,快速的序列化/反序列化库几乎存在于每种语言中。 当然还有XML,但JSON通常更容易使用。

marshal通常是特定于Python的。 如果你想要跨语言支持,那么你应该使用json

YAML支持有多种语言版本 ,支持多种数据类型.JSON语法是YAML 1.2版的子集,也享有广泛的支持。

作为marshal的替代方案,“协议缓冲区”在python和c#中都有很好的支持。 Google提供了python实现,并且有多个c#实现。 协议缓冲区提供出色的版本控制支持,丰富的跨平台实现和非常高效的序列化,非常适合快速二进制套接字使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM