您的位置:首页 > 其它

十六进制的数转换成字符串

2008-12-26 13:42 274 查看
数据库的数据如下:

idcalldate md5 monidresultpoptypecnt
22008-11-28 0:00:0011ssseewwd1 0 0 400
通过Sql转换成十六进制:

select CallDate,convert(varbinary,Monid)monid,convert(varbinary,Result) result,PopType,sum(Cnt)

from table1

group by CallDate,Monid,Result,PopType order by CallDate,Monid,Result

得到的数据如下:

2008-11-28 00:00:00.000 0x00000001 0x00000000 0 400

要把0x00000001显示到GridView里,需进行转换,如下:

dt为DataTable,是查询的结果。

for (int i = 0; i < dt.Rows.Count; i++)

{

byte[] obj = (byte[])dt.Rows[i]["monid"];

StringBuilder sbmonid = new StringBuilder();

foreach (byte b in obj)

{

sbmonid.Append(b > 15 ? Convert.ToString(b, 16) : '0' + Convert.ToString(b, 16));

}

dt.Rows[i]["monidBin"] = "0x" + sbmonid.ToString();

byte[] objresult = (byte[])dt.Rows[i]["result"];

StringBuilder sbresult = new StringBuilder();

foreach (byte b in objresult)

{

sbresult.Append(b > 15 ? Convert.ToString(b, 16) : '0' + Convert.ToString(b, 16));

}

dt.Rows[i]["resultBin"] = "0x" + sbresult.ToString();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: