首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

BYTE[]数组里的是存的十进制,怎么转换成十六进制

2012-03-24 
BYTE[]数组里的是存的十进制,如何转换成十六进制?BYTE[]数组里的是存的十进制,如何转换成十六进制?例如C#

BYTE[]数组里的是存的十进制,如何转换成十六进制?
BYTE[]数组里的是存的十进制,如何转换成十六进制?
例如

C# code
byte[] aa = new byte[]{63,204,204,205}

那么如何转换成
C# code
byte[] aa = new byte[]{3F,CC,CC,CD}


[解决办法]
C# code
            byte[] aa = new byte[] { 63, 204, 204, 205 };            string[] result = new string[aa.Length];            for (int i = 0; i < aa.Length; i++)            {                result[i] = aa[i].ToString("X2");            }
[解决办法]
这个我写通信程序的时候遇见过,手头没有环境,不知道写的对不对。好像可以直接(byte)十进制 来强制转换的。不过你如果想判断大小的话,十进制和16进制是一样的,只有“显示”的时候才需要变成16进制,那可以用楼上的方法。希望你懂我的意思。
[解决办法]
引用sys
string s = aa.JoinText(", ", "0x{0:X2}");
[解决办法]
给Lambda表达式提供临时变量。

因为都在一个作用域里面,所以用不同的字母区分。
首先对原始数据作投影,变成 index(i) + value(v)的形式。
然后按照index分组,每相邻4个变成一组。
然后不要index了,只要value,转换成字节数组
再用BitConverter.ToSingle()投影成float
最后转化成数组。

建议你看下LINQ。以及MSDN的介绍。
[解决办法]
你根本就不用管Byte中存的形式,
举个简单的例子

一个Int占4字节,就是4个Byte
你可以先用位运算">>"和"<<"把Byte数组拼接成你需要的数

具体可以查下MSDN中的位运算

[解决办法]
http://www.cnblogs.com/Mainz/archive/2008/04/09/String_Byte_Array_Convert_CSharp.html
[解决办法]
这真是个蛋疼的问题,byte里面存什么,不就是byte而已,你所看到的10进制是因为你显示的是十进制

热点排行