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

现在有一个BYTE数组,如Byte[]b={12,10,1,17...};现在要把它转化为16进制的数组{0C,0A,01,10...}... 现在有一个BYTE数组,如
Byte[]b={12,10,1,17...};
现在要把它转化为16进制的数组
{0C,0A,01,10...}
展开
 我来答
大野瘦子
高粉答主

2018-12-15 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:32.3万
展开全部

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;

}

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

一口没水的枯井
2015-06-22 · TA获得超过2989个赞
知道小有建树答主
回答量:473
采纳率:100%
帮助的人:145万
展开全部

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. 运行结果如下:

希望对你有帮助~

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
darnis
2009-03-14 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:108
采纳率:0%
帮助的人:108万
展开全部
转成 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"...}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无铭十誓
2009-03-14 · TA获得超过148个赞
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:0
展开全部
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);
}
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hubingqilin
2009-03-15 · 超过10用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:23.5万
展开全部
应该有相应的函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式