将字节数组转换为不在c#中工作的字符串

我有一个与数据库中的varbinary数据列AttachmentFile。 在C#中,我将它存储在一个byte []数组中。 我需要将此内容作为字符串显示给用户。 我尝试了几种不同的方法将这个字节数组转换为一个字符串,但似乎没有任何工作。

这就是我想要做的 -

while (rdr.Read())
{
    string name = rdr["AttachmentFileName"].ToString();
    string mime = rdr["AttachmentMIMEType"].ToString();
    byte[] content = (byte[])rdr["AttachmentFile"];

    string contentStr = (???)ConvertToString(content);
    r.AddHeader("Content-Disposition", "attachment; filename=" + name);
    r.ContentType = mime;
    r.Write(contentStr);
}

这是我到目前为止所尝试的 -

string contentStr = Encoding.Default.GetString(content, 0, 10000);
string contentStr = Encoding.UTF8.GetString(content, 0, 10000);

content = Encoding.Convert(Encoding.GetEncoding("iso-8859-1"), Encoding.UTF8, content);
string contentStr = Encoding.UTF8.GetString(content, 0, 10000);

System.Text.Encoding enc = System.Text.Encoding.ASCII;
string contentStr = enc.GetString(content);

string contentStr = System.Convert.ToBase64String(content);

但以上都没有给我一个清晰的字符串回来。 有任何想法吗?


它看起来像是在Response对象上寻找BinaryWrite方法。

又名:

 Response.BinaryWrite(content);
链接地址: http://www.djcxy.com/p/89831.html

上一篇: converting byte array to string not working in c#

下一篇: Resize an image type "Mat" opencv C++