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

解决方案 »

  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.   

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