第一段代码:DataTable中的数据保存成xml文件
DataTable dt= new DataTable();
dt.TableName = "表名";
dt.Columns.Add("某列", typeof(byte[])); //是byte[]型的啊
DataRow dr = dt.NewRow();
dr["某列"] = "从某个地方来的字节数组数据";
dt.WriteXml("存放xml的文件");第二段代码:
DataSet ds = new DataSet();
ds.ReadXml(“存放xml的文件”);
DataTable dt= ds.Tables[0];
byte[] data = Encoding.Default.GetBytes(dt.rows[0]["某列"].ToString()); //错这里了问题出在第二段,就是想把第一段代码存进去的字节数组数据读出来赋给data ,
用byte[] data =(byte[])dt.rows[0]["某列"]会报错,因为第二段的dt的"某列"不是byte[]型的,
用byte[] data = Encoding.Default.GetBytes(dt.rows[0]["某列"].ToString())呢,倒是不报错,可读出来的和存进去的数据不一样,维数就不一样,用ASCII啊Utf8啊啥的都不对
请教大家,该怎么把第二段代码的dt.rows[0]["某列"]转换成byte[]型的数据啊????
DataTable dt= new DataTable();
dt.TableName = "表名";
dt.Columns.Add("某列", typeof(byte[])); //是byte[]型的啊
DataRow dr = dt.NewRow();
dr["某列"] = "从某个地方来的字节数组数据";
dt.WriteXml("存放xml的文件");第二段代码:
DataSet ds = new DataSet();
ds.ReadXml(“存放xml的文件”);
DataTable dt= ds.Tables[0];
byte[] data = Encoding.Default.GetBytes(dt.rows[0]["某列"].ToString()); //错这里了问题出在第二段,就是想把第一段代码存进去的字节数组数据读出来赋给data ,
用byte[] data =(byte[])dt.rows[0]["某列"]会报错,因为第二段的dt的"某列"不是byte[]型的,
用byte[] data = Encoding.Default.GetBytes(dt.rows[0]["某列"].ToString())呢,倒是不报错,可读出来的和存进去的数据不一样,维数就不一样,用ASCII啊Utf8啊啥的都不对
请教大家,该怎么把第二段代码的dt.rows[0]["某列"]转换成byte[]型的数据啊????
byte[] byteArry = new byte[aa.length];byteArry = System.Text.Encoding.Default.GetBytes(aa);
string str = System.Text.Encoding.Default.GetString(byteArry);Response.Write(str);
using System.Collections.Generic;
using System.Text;
using System.Data;namespace ConsoleApplication17
{
class Program
{
static void Main(string[] args)
{
DataTable dt = new DataTable();
dt.TableName = "表名";
dt.Columns.Add("某列", typeof(byte[]));
DataRow dr = dt.NewRow();
dr["某列"] = Encoding.Default.GetBytes("从某个地方来的字节数组数据");
dt.Rows.Add(dr);
dt.WriteXml(@"c:\a.xml", XmlWriteMode.WriteSchema); DataSet ds = new DataSet();
ds.ReadXml(@"c:\a.xml");
DataTable dt2 = ds.Tables[0];
byte[] data = (byte[])dt2.Rows[0]["某列"];
Console.WriteLine(Encoding.Default.GetString(data));
Console.Read();
}
}
}
要用System.Text.Encoding.Default.GetString(byteArry);
来读的
dt.WriteXml(@"c:\a.xml", XmlWriteMode.WriteSchema);