zoukankan      html  css  js  c++  java
  • 把16进制字符转换成byte数组

          在计算机里,平时常用的编码一般用的是16进制的字符串并不是二进制字符串,二个16进制的数刚好可以表示一个字节,十六进制使用起来更简短,换算的时候一位16进制数可以顶4位2进制数。而在我们写程序的时候,用到的一般是字节数组。它们之间是怎样转换的呢?下面介绍一下它们相互转换的方法。

    16进制字符串转换成Byte数组

    public static byte[] HexStringToByte(string hexString)
     {
         char[] charList = hexString.ToCharArray();
         byte[] resultList = new byte[charList.Length / 2];
     
         int byteCount = 0;
     
         for (int i = 0; i < charList.Length; i += 2)
         {
             //一个byte相当于两个16进制的数
             byte b = 0x00;
             b |= Convert.ToByte("0x0" + charList[i], 16);
             b <<= 4;//移位操作,左移4位
             b |= Convert.ToByte("0x0" + charList[i + 1],16);
             resultList[byteCount] = b;
             byteCount++;
         }
     
         return resultList;
     }

    Byte数组转换成16进制字符串

    public string ByteToString(byte[] byteList)
    {
        StringBuilder sbResult = new StringBuilder();
        foreach (byte oneByte in byteList)
        {
            string tempStr=String.Format("{0:X2} ", oneByte);
            sbResult.Append(tempStr);
        }
        return sbResult.ToString() ;
    }
  • 相关阅读:
    vim how to set nu with 0-index instead of 1-index
    @property的介绍与使用
    X[:,0]和X[:,1]
    the best guide for git
    sorted(列表)
    Java的匿名函数
    成员变量和局部变量的区别
    Java数组合并
    Java中random的使用
    Git常见错误---git branch不显示本地分支的问题
  • 原文地址:https://www.cnblogs.com/xiaoxiangfeizi/p/2980083.html
Copyright © 2011-2022 走看看