如何将response.binarywrite写入字符串

时间:2011-04-06 15:53:15

标签: c# asp.net binaryfiles

我将我的数据保存在我的数据库中作为Longblob并保存我正在将其转换为字节并立即保存,同时检索我们可以通过写如下来获得该数据

 Byte[] bytes = (Byte[])dt.Rows[0]["Data"];
                    Response.BinaryWrite(bytes);

但我需要的是我需要以字节为单位的数据表示为字符串是否可能

4 个答案:

答案 0 :(得分:5)

那么, 数据是一个编码字符串?如果是这样,请使用类似

的内容
string text = Encoding.UTF8.GetString(bytes);

...但请确保使用正确的编码。

如果是任意二进制数据,则应使用base64:

string text = Convert.ToBase64String(bytes);

这将获得一个完整的ASCII字符串,可以使用Convert.FromBase64String将其转换回原始字节数组。

如果不知道您的数据是什么,就不可能说出哪种方法是合适的。您说在保存时将数据转换为字节数 - 但是您没有说 是如何将数据转换为字节的。基本上你想要扭转这个过程,无论它是什么。

答案 1 :(得分:0)

使用编码将其转换回来。

string text = System.Text.Encoding.ASCII.GetString(myByteArray);

答案 2 :(得分:0)

我认为这就是您所需要的:http://msdn.microsoft.com/en-us/library/744y86tc.aspx

答案 3 :(得分:0)

您可以使用System.Text.Encoding.GetString(byte [])方法将字节数组转换为字符串,但您需要指定字节所在的编码.CLR附带一些默认编码( Encoding.UTF8,Encoding.ASCII等)但一般来说,你需要非常了解用于编码数据的编码。