无法将'System.String'类型的对象强制转换为'System.Byte []'

时间:2014-06-06 12:04:59

标签: c# casting

我正在将图像保存在wpf应用程序的数据库中。但是当我检索它时,它会给我输入错误。

无法将“System.String”类型的对象强制转换为“System.Byte []”。

我正在使用以下代码来输入强制转换

byte[] data = (byte[])ds.Tables[0].Rows[0]["ProjectIcons"];

2 个答案:

答案 0 :(得分:1)

要从字符串转换为字节[],您需要指定编码。使用UTF-8,它是:

byte [] stringArray = Encoding.UTF8.GetBytes("aaa");

请记住,相同的字符可能由不同的字节数和值表示,因此根据您的需要,您必须使用正确的编码。

答案 1 :(得分:0)

试试这个

string s = (string)ds.Tables[0].Rows[0]["ProjectIcons"];
byte[] data = System.Text.Encoding.ASCII.GetBytes(s);