我怎样才能写一个响应.二进制写到一个字符串



我将我的数据作为 Longblob 保存在我的数据库中,在保存时我将其转换为字节并保存现在在检索时我们可以通过以下方式获得该数据

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

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

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

string text = Encoding.UTF8.GetString(bytes);

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

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

string text = Convert.ToBase64String(bytes);

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

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

使用编码将其转换回来。

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

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

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

相关内容

最新更新