C#/.NET将byte[]数组转换成十六进制字符串

C#开发 2015-09-23 2555浏览 1评论 收藏本文

在C#/.NET中,如何将byte[]数组转换成十六进制字符串?今天给大家分享一个转换的方法,代码如下:

public static string ByteArrayToHex(byte[] barray)
    {
      char[] c = new char[barray.Length * 2];
      byte b;
      for (int i = 0; i < barray.Length; ++i)
      {
        b = ((byte)(barray[i] >> 4));
        c[i * 2] = (char)(b > 9 ? b + 0x37 : b + 0x30);
        b = ((byte)(barray[i] & 0xF));
        c[i * 2 + 1] = (char)(b > 9 ? b + 0x37 : b + 0x30);
      }
      return new string(c);
    }
完整的示例代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HexadecimalDemo
{
  public class Program
  {
    static void Main(string[] args)
    {
      // 声明byte[]变量
      byte[] array = new byte[8];
      //声明随机数实例
      Random random = new Random();
      //填充随机数据
      random.NextBytes(array);
      Console.WriteLine(ByteArrayToHex(array));
      Console.ReadKey();
    }

    public static string ByteArrayToHex(byte[] barray)
    {
      char[] c = new char[barray.Length * 2];
      byte b;
      for (int i = 0; i < barray.Length; ++i)
      {
        b = ((byte)(barray[i] >> 4));
        c[i * 2] = (char)(b > 9 ? b + 0x37 : b + 0x30);
        b = ((byte)(barray[i] & 0xF));
        c[i * 2 + 1] = (char)(b > 9 ? b + 0x37 : b + 0x30);
      }
      return new string(c);
    }
  }
}
运行示例结果如下: byte-array-convert-to-hexadecimal-string-demo

转载请注明:图享网 » C#/.NET将byte[]数组转换成十六进制字符串

验证码

文章评论

  • FUCK ME (2015-10-10 19:23)

    BitConverter.ToString(你的 byte[]).Replace("-", "")