把字符串“00 B1 01 001A 53FC337C 00 008C 012C“转换为16进制字节数组00 B1 01 001A 53FC337C 00 008C 012C,需要能运行的程序,非常感谢
/// <summary>
/// 16进制字符串转换成字节数组
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static byte[] HexStringToByteArray(string s)
{
s = s.Replace(" ", "");
byte[] buffer = new byte[s.Length / 2];
for (int i = 0; i < s.Length; i += 2)
{
buffer[i / 2] = (byte)Convert.ToByte(s.Substring(i, 2), 16);
}
return buffer;
}
/// 16进制字符串转换成字节数组
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static byte[] HexStringToByteArray(string s)
{
s = s.Replace(" ", "");
byte[] buffer = new byte[s.Length / 2];
for (int i = 0; i < s.Length; i += 2)
{
buffer[i / 2] = (byte)Convert.ToByte(s.Substring(i, 2), 16);
}
return buffer;
}
字节数组就是字节数组,没有十六进制字节数组这种叫法,十六进制统一叫做十六进制字符串。
追问大哥,真是太感谢你了,分肯定给你啦,还能问下如何将excel中的数据导入datagridview里面吗?
追答excel读取的例子你搜索一下c# excel就能找到,一般建议用npoi
追问就是不经过数据库那种啊,有没有办法的
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-09-09
string str = "00 B1 01 001A 53FC337C 00 008C 012C";
string[] strs = str.Split(' ');
byte[] result = new byte[strs.Length];
for (int i = 0; i < strs.Length; i++)
{
result[i] = (byte)Convert.ToInt32(strs[i], 16);
}
string[] strs = str.Split(' ');
byte[] result = new byte[strs.Length];
for (int i = 0; i < strs.Length; i++)
{
result[i] = (byte)Convert.ToInt32(strs[i], 16);
}
第2个回答 2014-09-09
看看我还能正常回复吗?追问
???