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

1
2
3
4
5
6
7
8
9
10
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 @   踏平扶桑  阅读(12658)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示