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

问题描述 投票:2回答:1

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

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

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

什么是实现我正在寻找的最有效的方法?

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

c# c++ string serialization unicode
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.