C# 以十六机制字符串显示二进制的函数

时间:2023-02-13 20:59:03
我想把一个字节数组的内容用十六进制字符串显示给用户看,如有byte[] a=1101011101101011100111 用十六进制字符串"35DAE7"显示给用户,请问有系统函数可供调用吗?

10 个解决方案

#1


public static string ConvertString(string value, int fromBase, int toBase)
{
int intValue = Convert.ToInt32(value, fromBase);
return Convert.ToString(intValue, toBase);
}

测试:
string str="11100011";
Console.WriteLine(ConvertString(str,2,16));

#2


string s="";
for(int i=0;i<a.Length;i++)
s+=a[i].ToString("X2");

Console.Write(s);

#3


沙化

//十进制转二进制
Console.WriteLine(Convert.ToString(69, 2));
//十进制转八进制
Console.WriteLine(Convert.ToString(69, 8));
//十进制转十六进制
Console.WriteLine(Convert.ToString(69, 16));

//二进制转十进制
Console.WriteLine(Convert.ToInt32(”100111101″, 2));
//八进制转十进制
Console.WriteLine(Convert.ToInt32(”76″, 8));
//十六进制转十进制
Console.WriteLine(Convert.ToInt32(”FF”, 16));

#4


你们好像没有理解我的意思:
我是要把一个字节数组转成与之对应的字符串,比如字节数组里有EF3D 我想把它转成字符串"EF3D",二楼的方法可行,但是效率好像不高,有没有更好的方法? 更简单的系统函数呢?

#5


BitConverter.ToString(a);
这样转换之后会用连字符(-)分隔,如果不希望有分隔符的话:
BitConverter.ToString(a).Replace("-","");

#6


不是没理解到,是你结贴率为0,实在不想回复

#7


引用 5 楼 CsToD 的回复:
BitConverter.ToString(a); 
这样转换之后会用连字符(-)分隔,如果不希望有分隔符的话: 
BitConverter.ToString(a).Replace("-","");


使用BitConverter是正解。

#8


先转为10进制,然后转为16进制字符

#9


stirng ret = "";
for(int i = 0;i<a.Length;i++)
{
   ret += a[i].ToString("X2");
}

#10


该回复于2010-11-25 13:54:05被版主删除

#1


public static string ConvertString(string value, int fromBase, int toBase)
{
int intValue = Convert.ToInt32(value, fromBase);
return Convert.ToString(intValue, toBase);
}

测试:
string str="11100011";
Console.WriteLine(ConvertString(str,2,16));

#2


string s="";
for(int i=0;i<a.Length;i++)
s+=a[i].ToString("X2");

Console.Write(s);

#3


沙化

//十进制转二进制
Console.WriteLine(Convert.ToString(69, 2));
//十进制转八进制
Console.WriteLine(Convert.ToString(69, 8));
//十进制转十六进制
Console.WriteLine(Convert.ToString(69, 16));

//二进制转十进制
Console.WriteLine(Convert.ToInt32(”100111101″, 2));
//八进制转十进制
Console.WriteLine(Convert.ToInt32(”76″, 8));
//十六进制转十进制
Console.WriteLine(Convert.ToInt32(”FF”, 16));

#4


你们好像没有理解我的意思:
我是要把一个字节数组转成与之对应的字符串,比如字节数组里有EF3D 我想把它转成字符串"EF3D",二楼的方法可行,但是效率好像不高,有没有更好的方法? 更简单的系统函数呢?

#5


BitConverter.ToString(a);
这样转换之后会用连字符(-)分隔,如果不希望有分隔符的话:
BitConverter.ToString(a).Replace("-","");

#6


不是没理解到,是你结贴率为0,实在不想回复

#7


引用 5 楼 CsToD 的回复:
BitConverter.ToString(a); 
这样转换之后会用连字符(-)分隔,如果不希望有分隔符的话: 
BitConverter.ToString(a).Replace("-","");


使用BitConverter是正解。

#8


先转为10进制,然后转为16进制字符

#9


stirng ret = "";
for(int i = 0;i<a.Length;i++)
{
   ret += a[i].ToString("X2");
}

#10


该回复于2010-11-25 13:54:05被版主删除