public static int Str2BYTEs(string datastr, byte[] databytes, char[] spera)
{
string str1 = datastr.Trim();
if (str1.Length == 0)
return 0;
if (spera != null)
{
string[] temp = str1.Split(spera);
for (int i = 0; i < temp.Length; i++)
{
databytes[i] = Convert.ToByte(temp[i], 16);
}
return temp.Length;
}
else/无间隔的字符串:1122334455
{
for (int i = 0; i < str1.Length/2; i++)
{
string substr1 = str1.Substring(i * 2, 2);
databytes[i] = Convert.ToByte(substr1, 16);
}
return str1.Length / 2;
}
}
调用示例///
string str1 = "11 22 33 44 55";
byte[] buf1 = new byte[100];
int len1 = CFunc.Str2BYTEs(str1, buf1, new char[] { ' ' });
string str2 = "1122334455";
byte[] buf2 = new byte[100];
int len2 = CFunc.Str2BYTEs(str2, buf2, null);