C#如何把BYTE数组中的数转换成16进制

现在有一个BYTE数组,如
Byte[]b={12,10,1,17...};
现在要把它转化为16进制的数组
{0C,0A,01,10...}

using System;

using System.Collections.Generic;

using System.Text;

namespace ConsoleApplication3

{

class Program

{

static void Main(string[] args)

{

byte[] b = {12,10,1,17};

for (int i = 0; i < b.Length; i++)

{

string a =Convert.ToString(b[i], 16);

Console.WriteLine("O"+a);

}

}

}

}

扩展资料:

C# 16进制的转换

/十进制转二进制

Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2));

//十进制转八进制

Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8));

//十进制转十六进制 Console.WriteLine("十进制166的十六进制表示: "+Convert.ToString(166, 16));  

//二进制转十进制

Console.WriteLine("二进制 111101 的十进制表示: "+Convert.ToInt32("111101", 2));

//八进制转十进制

Console.WriteLine("八进制 44 的十进制表示: "+Convert.ToInt32("44", 8));

//十六进制转十进制

Console.WriteLine("十六进制 CC的十进制表示: "+Convert.ToInt32("CC", 16));

实例:

字节数组转16进制字符串

/// <summary>

/// 字节数组转16进制字符串

/// </summary>

/// <param name="bytes"></param>

/// <returns></returns>

public static string byteToHexStr(byte[] bytes)

{

string returnStr = "";

if (bytes != null)

{

for (int i = 0; i < bytes.Length; i++)

{

returnStr += bytes[i].ToString("X2");

}

}

return returnStr;

}

参考资料来源:十六进制转换-百度百科

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-22

1. 字节数组转为 整型,需要调用 BitConvert的 ToInt方法

2. 调用Convert.ToString(整型,进制数) 来转换为想要的进制数

3. 一个小示例如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            byte[] bytes = { 10, 12, 14, 16 };
            int int32 = BitConverter.ToInt32(bytes, 0);
            string hexStr = "0x" + Convert.ToString(int32, 16);
            Console.WriteLine(hexStr);

            Console.Read();
        }
    }
}

4. 运行结果如下:

希望对你有帮助~

第2个回答  2009-03-14
转成 16 进制字符 能打印的 那种?
估计是。如果不是 那数据区中的数据内容,本来就是 1001 之类的,
你想当作 16 进制它就是 16进制,想当作 10 进制,就是 10 进制。
想看作是 2 进制都可以。

转为 16 进制字符的话,如下类似代码:
string[] c = new string[b.length];
for(int i=0;i<b.length;i++)
c[i] = b[i].ToString("X");

则对应的 字符数组 c 就是 你的
{"0C", "0A", "01", "10"...}
第3个回答  2009-03-14
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
byte[] b = {12,10,1,17};
for (int i = 0; i < b.Length; i++)
{
string a =Convert.ToString(b[i], 16);
Console.WriteLine("O"+a);
}
}
}
}本回答被提问者采纳
第4个回答  2009-03-15
应该有相应的函数。

C#如何把BYTE数组中的数转换成16进制
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication3 { class Program { static void Main(string[] args){ byte[] b = {12,10,1,17};for (int i = 0; i < b.Length; i++){ string a =Convert.ToString(b[i], 16);Console.WriteLine("O"...

c#如何byte数组里的数转成16进制
晕,无论 表现形式如何,值是一样的啊,如果你想输出的时候是16进制,只要,byte by = 0x1D;string s = by.ToString("x");或者 string s = Convert.ToString(by,16);

C# byte数组 中 指定元素 比如 第 0个至 第 7 个 转换16进制字符...
static void Main(string[] args){ byte[] data1 = { 236, 3, 0, 214, 240, 0, 32, 45, 16, 234, 0, 0, 214, 240, 0, 32, 45, 17, 235, 16, 0, 214, 240, 0, 32, 45, 16, 234, 16 };Console.WriteLine("请输入许转换的开始位置:");int start = Int32.Parse( ...

...英文、数字,那请问怎样转为对应的16进制数据?
byte[] data = System.Text.Encoding.UTF8.GetBytes("中文English0123456789"); 然后将byte[]转换为十六进制表示即可。.NET只提供了byte到16进制的方法,所以在这里新写了一个byte[]到16进制的方法:string Hex(byte[] data){ string hex = ""; foreach (byte b in data) { h...

c#八位二进制字节数组转四位十六进制字节数组怎么实现?
最好举例 说明一下,你要实现的东西, 你的描述有些歧义。字节转换整型和16进制代码参见如下:byte[] bytes = { 10, 12, 14, 16 };int int32 = BitConverter.ToInt32(bytes, 0);string hexStr = "0x" + Convert.ToString(int32, 16);Console.WriteLine(hexStr);...

C#中字符串转换成16进制BYTE数组
byts=(byte)Convert.ToInt32("123",16);如果你想将字符串数组中的内容转换成单个的Int值的再转成16进制,再转成byte数组的话,那帮你举个列子 1、2、3的16进制ASCII码分别为31、32、33 byte[] byts=new byte[3];byts[0]=(byte)0x31;byts[1]=(byte)0x32;byts[2]=(byte)0x33;...

C# string转换为16进制数据问题
byte [] bytearray = new byte[(str.length-1)\/3];\/\/三个digits一组,正好少一位 int index = 0;foreach(string s in str.split(" ")){ int hex = Convert.ToInt32(s);bytearray[index++] = hex\/16+hex%16;}

C# 十进制字节 转换成16进制字节。
十进制直接强制转为byte就行了,也就是 byte bt=(byte)255;然后发送出去,十六进制其实叫做十六进制字符串,只有显示的时候才会用到的。

C# 怎么把汉字转换成16进制
先把字符串转成byte数组,再把byte数组中的每个元素以16进制形式的字符串保存到字符串数组中,再根据字符串数组中的每个元素转换回byte数组,再根据byte数组生成字符串 string str = "你好";byte[] bytes = Encoding.Unicode.GetBytes(str);string[] strArr = new string[bytes.Length];Console....

.net中使用c#对byte[]到字符串的转换
用System.Text.Encoding,专门处理byte[]与string互转的 什么叫转换16进制字符?你给个例子,byte[]里面存的是什么,要转成什么样的string。看不懂这个“类似4b5ff1c”说的是什么意思 ok,给出完整程序,需要using System.Text;static void Main(string[] args){ byte[] bytearray = { 255, 255...

相似回答