如何将字节数组转换为字符串?

时间:2009-02-26 08:07:48

标签: bytearray structure

我的结构如下:

结构数据 {int no;字符串名称; int id};

我正在将此结构转换为bytearray。我需要将其转换回结构格式。为此,我需要将第一个成员转换为整数和字符串。如何将bytearray转换为结构?

3 个答案:

答案 0 :(得分:1)

答案真的取决于你如何将结构转换为字节数组。理论上,您需要以相反的顺序执行相同的步骤!

例如,如果序列化结构,则:

  • 前4个字节=无
  • second 4 bytes = id
  • rest bytes =字节流 名字中的字符

然后将字节数组转换回结构,只需要定义该结构类型的变量,并为成员分配从字节数组转换的值!

答案 1 :(得分:1)

查看BitConverter课程。以下是how to convert byte array to int的示例。

对于字符串转换BitConverter并不是很有用(正如Marc在他的评论中提到的那样),即使它有ToChar()方法。您可以使用ASCIIEncodingUTF8EncodingSystem.Text命名空间中的任何其他XxxEncoding类来代替。

注意,这是.Net特定的。

答案 2 :(得分:1)

请注意,许多平台都包含用于此目的的工具;当你可以编写自定义[de]序列化代码时,它会很快变得乏味。

例如,google的protocol buffers是一种与语言无关的机制,用于描述有线格式。如果你手工完成所有事情,你可以在技术上获得更好(更小)的序列化,但这将是更多的工作......

google repo中的

* = c ++,java等 - 社区加上lots more

相关问题