⼀个困扰两天的问题:
需要通过串⼝向设备发送的数据:0A010 7e 08 00 11 00 00 7e 76 7f
我先将每个16进制字符转换成10进制,再将其转换成ASCII码对应的字符。
///<summary>
/// 16进制数组转ASCII字符串
///</summary>
///<param name="strArrHex"></param>
///<returns></returns>
publicstaticstring ConvertHexArrToString(string strHex)
{
StringBuilder sb = new StringBuilder();
string[] strArrHex = strHex.Split('');
foreach (string item in strArrHex)
{
//将⼗六进制转换成10进制
int ten = Convert.ToInt32(item, 16);
char cc = (char)ten;
sb.Append(cc);
}
string s = sb.ToString();
return s;
}
--------------------------------------------------------
View Code
这个没有问题,但是7e 08 00 22 00 01 01 74 f4 7f就有问题了
通过Wireshark抓包发现,只要包含a开头的⼗六进制数都变成了3