首页 / C#开发 / 正文

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

7058 1评论 发布于: 2015-09-23 读完约需4分钟
在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

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: Bootstrap 3 日期时间插件--Bootstrap 3 Datepicker

下一篇: C#/.NET使用Linq将double array数组集合转换为float数组集合的简单示例

本文永久链接码友网 » C#/.NET将byte[]数组转换成十六进制字符串

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册

热门评论

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

BitConverter.ToString(你的 byte[]).Replace("-", "")
回复 赞(0)