我们希望在目标C和C#之间高效地传递森林-字典,其值可以是:字典,数组,集合,数字,字符串,字节缓冲区-(在时间上,较少关注空间)。 Google的Protocol Buffer看起来不错,但它们似乎只能处理结构化数据,而我们的是任意的。最终,我们可以自己编写一个二进制(反)序列化器,但是可以肯定的是,这是以前完成的,并以FOSS的形式发布在某个地方?
最佳答案
您是否考虑过使用ASN.1?由于ASN.1与编程语言或系统体系结构无关,因此无论您是否需要C,C#,C ++或Java,都可以有效地使用它。
您创建要交换的信息的描述,并使用ASN.1工具为目标编程语言生成编码器/解码器。 ASN.1还支持一些不同的规则来传输日期,范围从有效的PER(打包编码规则)到冗长但灵活的XER(XML编码规则)。
要使用ASN.1来查看它是否适合您,请尝试免费的在线ASN.1编译器和位于http://asn1-playground.oss.com的编码器/解码器,以了解它是否适合您。
关于c# - objective-c 和C#之间的任意对象的二进制序列化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18608259/