心澄欲遣

不践迹,亦不入于室

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
//前两个字节为长度的解析
string
hexstr = "00 13 59 02 80 00 E7 00 80 00 E9 00 80 00 EA 00 80 00 EB 00 80"; byte[] hexarr= strToToHexByte(hexstr); byte[] countarray = new byte[2]; Array.Copy(hexarr, 0, countarray, 0, 2); short count = (short)((countarray[0] << 8) + countarray[1]); byte[] bytearr = new byte[count]; Array.Copy(hexarr, 2, bytearr, 0, count); string t = BitConverter.ToString(bytearr); Console.WriteLine(t); private static byte[] strToToHexByte(string hexString) { hexString = hexString.Replace(" ", ""); if ((hexString.Length % 2) != 0) hexString += " "; byte[] returnBytes = new byte[hexString.Length / 2]; for (int i = 0; i < returnBytes.Length; i++) returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16); return returnBytes; }
//指定转换
int a = int.Parse("0013", NumberStyles.HexNumber);
//判断大端小端,vs默认小端
if (!BitConverter.IsLittleEndian)
{
       Array.Reverse(b); // 反转
}
BitConverter.ToString(array[]);
十六进制为 1A2B3C5E
小端输出 为 5E-3C-2B-1A
大端输出 为 1A-2B-3C-5E

 

posted on 2018-03-20 16:40  心澄欲遣  阅读(1238)  评论(0编辑  收藏  举报
欢迎第myspace graphics个访客