使用C#以二进制序列化字符串,并使用C ++对其进行反序列化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用C#以二进制序列化字符串,并使用C ++对其进行反序列化相关的知识,希望对你有一定的参考价值。
我正在努力找到一种有效的方法来将一个包含unicode和非unicode字符的字符串序列化为二进制数组,然后我将其序列化为一个我必须使用C ++反序列化的文件。
我已经在C ++中实现了一个串行器/解串器,我用它来完成大部分可以处理unicode和非unicode字符的序列化(基本上我将非unicode字符转换为它们的unicode等价物并将所有内容序列化为unicode字符串,而不是最有效的方法,因为每个字符串现在每个字符有2个字节,但有效。
我想要实现的是将任意字符串转换为每个字符串2个字节,然后我可以从C ++反序列化。
什么是实现我正在寻找的最有效的方法?
此外,关于我序列化字符串的方式的任何建议当然都被接受了。
答案
Encoding.Unicode.GetBytes("my string")
将字符串编码为UTF-16,每个字符的大小为2字节。因此,如果您仍在寻找替代方案,请考虑编码。
以上是关于使用C#以二进制序列化字符串,并使用C ++对其进行反序列化的主要内容,如果未能解决你的问题,请参考以下文章