C# webform我现在image类型字段的数据为“0x0100000EA0100....”现在我想把它取出来付给string类型的变量str,或一个EDIT.
比如结果是: edit1.text:='0x0100000EA0100';或 str='0x0100000EA0100';请问要如何做,能否给个例子
比如结果是: edit1.text:='0x0100000EA0100';或 str='0x0100000EA0100';请问要如何做,能否给个例子
string str = System.Text.Encoding.Default.GetString ((bytre)dr["photo"]);
与“System.Text.Encoding.GetString(byte[])”最匹配的重载方法具有一些无效参数 参数“1”: 无法从“byte”转换为“byte[]”
edit1.text:='0x0100000EA0100';或 str='0x0100000EA0100';
string str = System.Text.Encoding.Default.GetString ((byte[])dr["photo"]);
上面代码出来的结果是
str = "\0\0\0\0\0\0\0\0\0\0\0\0`?\0`?\0\0\0\0\0\0\0\0\0?\0\0\0\0\0\0\0\0\0\0\0?\0\0\0\0\0\0\0\0\0\n\0\0\0>\0>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\..."我想要的是
edit1.text:='0x0100000EA0100';或 str='0x0100000EA0100';
不过换成byte[]后里面的字符是十进制的,我只能用for循环对每个十进制分别转成十六进制,
str=Convert.ToString(b[i], 16); 可是如果b[i]=1 转出来后的str也为1,我想得到的是01,2位的,有什么好办法解决吗,我目前是通过判断str的长度,不足2位前面补0解决的,不知有没有一步到位的好办法?
for(int i=0;i<b.Length;i++)
{
sb.AppendFormat("{0:X2}", b[i]);
}
string str=sb.ToString();
这句把字节转16进制,并把不够两位的前面自动补0