Objective C和C#之间的任意对象的二进制序列化?

时间:2013-09-04 07:51:20

标签: c# objective-c serialization unity3d binary-serialization

我们希望传递一个森林 - 一个字典,其值可以是:字典,数组,集合,数字,字符串,字节缓冲区 - 在Objective C和C#之间有效(时间,空间是一个较小的问题)。谷歌的协议缓冲区看起来很不错,但它们似乎只处理结构化数据,而我们的是任意的。最终我们可以自己写一个二进制(de)序列化器,但这肯定是在之前完成并作为FOSS在某个地方发布的?

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用ASN.1?由于ASN.1独立于编程语言或系统架构,因此无论您是需要C,C#,C ++还是Java,都可以有效地使用它。

您可以创建要交换的信息的描述,并使用ASN.1工具为目标编程语言生成编码器/解码器。 ASN.1还支持一些不同的规则来传输日期,范围从高效的PER(压缩编码规则)到冗长但灵活的XER(XML编码规则)。

要使用ASN.1查看这是否适用于您,请尝试http://asn1-playground.oss.com处的免费在线ASN.1编译器和编码器/解码器,看看这是否适合您。