C# 怎么将byte字节拼接成uint
答案:3 悬赏:80 手机版
解决时间 2021-02-11 19:25
- 提问者网友:最美的风景
- 2021-02-10 22:30
C# 怎么将byte字节拼接成uint
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-02-10 23:43
BitConverter 类,可以从byte数组中转换
但是要注意尾序,也就是你要清楚哪个字节是高位,哪个字节是低位。
BitConverter 一般以小尾方式处理,这是因为跑windows 的机器通常是小尾的。追问我希望的格式是uint的0xfffffff这种,而不是十进制的数字格式上希望就是标题的拼接最后是一个完整的8位字节的这个格式
但是最后这个字段是uint的类型追答uint 是一种类型,并不是指定的16进制或10进制。
uint 在打印的时候,用x 去格式化就是16进制显示方式,不加就是10进制。而存储方式只有一种,那就是二进制。
byte aa=0x00;
byte bb=0xf;
byte cc=0x1;
byte dd=0x00;
byte[] bytes = new byte[]{aa,bb,cc,dd};
uint num = BitConverter.ToUInt32(bytes,0);
Console.WriteLine("0x{0:X8}",num);
Console.WriteLine("{0}",num);
byte[] bytes2 = new byte[]{dd,cc,bb,aa};
num = BitConverter.ToUInt32(bytes2,0);
Console.WriteLine("0x{0:X8}",num);
Console.WriteLine("{0}",num);
但是要注意尾序,也就是你要清楚哪个字节是高位,哪个字节是低位。
BitConverter 一般以小尾方式处理,这是因为跑windows 的机器通常是小尾的。追问我希望的格式是uint的0xfffffff这种,而不是十进制的数字格式上希望就是标题的拼接最后是一个完整的8位字节的这个格式
但是最后这个字段是uint的类型追答uint 是一种类型,并不是指定的16进制或10进制。
uint 在打印的时候,用x 去格式化就是16进制显示方式,不加就是10进制。而存储方式只有一种,那就是二进制。
byte aa=0x00;
byte bb=0xf;
byte cc=0x1;
byte dd=0x00;
byte[] bytes = new byte[]{aa,bb,cc,dd};
uint num = BitConverter.ToUInt32(bytes,0);
Console.WriteLine("0x{0:X8}",num);
Console.WriteLine("{0}",num);
byte[] bytes2 = new byte[]{dd,cc,bb,aa};
num = BitConverter.ToUInt32(bytes2,0);
Console.WriteLine("0x{0:X8}",num);
Console.WriteLine("{0}",num);
全部回答
- 1楼网友:人间朝暮
- 2021-02-11 01:45
c# byte直接转为int就可以了。
而且就是uint.追问但是我希望的格式是uint的0xfffffff这种,而不是十进制的数字但是我希望的格式是uint的0xfffffff这种,而不是十进制的数字追答5.ToString("X8");
这样就可以了
而且就是uint.追问但是我希望的格式是uint的0xfffffff这种,而不是十进制的数字但是我希望的格式是uint的0xfffffff这种,而不是十进制的数字追答5.ToString("X8");
这样就可以了
- 2楼网友:夜余生
- 2021-02-11 00:55
童鞋你好,试试看:BitConverter.ToUInt32()List
lst.Add(0x00);
lst.Add(0xf);
lst.Add(0x1);
lst.Add(0x00);
BitConverter.ToUInt32(lst.ToArray());追问我希望的格式是uint的0xfffffff这种,而不是十进制的数字
格式上希望就是标题的拼接
最后是一个完整的8位字节的这个格式追答...童鞋,是我想复杂了...直接给你上代码,你自己去分析研究,会有帮助的!
byte aa = 0x00;byte bb = 0xf;byte cc = 0x1;byte dd = 0x00;
string sii = "0x" + aa.ToString("x2") + bb.ToString("x2") + cc.ToString("x2") + dd.ToString("x2");
输出结果:0x000f0100追问是~我也想过string,但是因为这个字段要求的类型是uint
我不知道应该怎么以这种string的类型转uint呢?
直接Touint是报错的
跪求继续答疑解惑呀
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯