23

我正在尝试在Object List View返回的 c# 应用程序设置中保存一个字节数组 (byte[]) 。

谁能给我一个关于如何在 C# 应用程序设置中保存字节数组的解决方案?或有关如何将 byte[] 转换为字符串之类的东西然后存储,然后检索并再次将其转换为字节数组并将其返回给对象列表视图的一些技巧。

4

3 回答 3

31

从字节数组中生成字符串的最常见方法之一是将它们编码为Base-64

string encoded = System.Convert.ToBase64String(toEncodeAsBytes);

采用

byte[] bytes = System.Convert.FromBase64String(encoded);

取回你的字节。

于 2012-09-08T11:06:14.503 回答
4

执行此操作的规范方法是将 转换byte[]stringvia base64,反之亦然。

于 2012-09-08T11:06:03.007 回答
3

通过不同的方式,您可以将字节数组转换为字符串,将字符串转换为字节数组。像这样 :

1)

string asciiString = ASCIIEncoding.ASCII.GetString(byteArray);

byte[] byte = ASCIIEncoding.ASCII.GetBytes(asciiString);

2)

string base64String = System.Convert.ToBase64String(byteArray);

byte[] byte = System.Convert.FromBase64String(base64String);

3)

string utf8String = System.Text.Encoding.UTF8.GetString(byteArray);

byte[] byte = System.Text.Encoding.UTF8.GetBytes(utf8String);

您还可以使用 System.Text.Encoding.BigEndianUnicode、System.Text.Encoding.Unicode 和 System.Text.Encoding.UTF32 将字节数组转换为字符串,将字符串转换为字节数组。

希望,它应该可以帮助你。

于 2012-09-08T11:34:12.380 回答