将字节数组转换为字符串在 C# 中不起作用

本文关键字:不起作用 字符串 字节 字节数 数组 转换 | 更新日期: 2023-09-27 18:31:23

我在数据库中有一列附件文件,其中包含varbinary数据。在 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);

但以上都没有给我一个清晰的字符串。有什么想法吗?

将字节数组转换为字符串在 C# 中不起作用

看起来您正在Response对象上查找BinaryWrite方法。

即:

 Response.BinaryWrite(content);