使用C#以二进制序列化字符串,并使用C ++对其进行反序列化

时间:2018-04-27 06:20:17

标签: c# c++ string serialization unicode

我正在努力寻找一种有效的方法来将一个包含unicode和非unicode字符的字符串序列化为二进制数组,然后我将其序列化为一个文件,我必须使用C ++进行反序列化。

我已经在C ++中实现了一个串行器/解串器,我用它来完成大部分可以处理unicode和非unicode字符的序列化(基本上我将非unicode字符转换为它们的unicode等价物并将所有内容序列化为unicode字符串,不是最有效的方法,因为每个字符串现在每个字符有2个字节,但有效。)

我想要实现的是将每个字符串中的任意字符串转换为2个字节,然后我可以从C ++中反序列化。

实现我所寻找的目标的最有效方法是什么?

此外,关于我串行化字符串的方式的任何建议当然都被接受了。

1 个答案:

答案 0 :(得分:0)

Encoding.Unicode.GetBytes("my string")将字符串编码为UTF-16,每个字符的大小为2字节。因此,如果您仍在寻找替代方案,请考虑编码。

相关问题