C# byte和10进制、16进制相互转换

var array = new byte[4];
var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//整数转成16byte(utf8) 54 52
Array.Copy(i, array, i.Length);
ushort leng = 1400;//无符号整数,00000101 10111000
byte[] a = new byte[2];
a[0] = (byte)(leng >> 8);//leng >> 8表示将leng右移8位,即将高8位移到低8位 00000000 00000101 然后1个byte存储00000101 十进制数值为5
a[1] = (byte)leng;//leng的低8位直接使用(byte)进行强制类型转换,1个byte存储10111000 十进制数值为120
var ccc = BitConverter.ToString(a).Replace("-", "");//byte数组转16进制字符串 0578
var dddd = Convert.ToInt32(ccc, 16); //16进制转32位十进制
Array.Copy(a, 0, array, 2, a.Length);//array的值54 52 5 120

  

posted @ 2019-04-16 17:51  踏平扶桑  阅读(12575)  评论(0编辑  收藏  举报