将 16 进制字符串转换成字节数组


要将 16 进制字符串转换成字节数组,你需要先获取给定字符串的长度,并在创建一个新的字节数组时包含它。

byte[] val = new byte[str.length() / 2];

现在,创建一个直到字节数组的长度的 for 循环。

for (int i = 0; i < val.length; i++) {
   int index = i * 2;
   int j = Integer.parseInt(str.substring(index, index + 2), 16);
   val[i] = (byte) j;
}

让我们看一个完整的示例。

示例

 在线演示

public class Demo {
   public static void main(String args[]) {
      String str = "p";
      byte[] val = new byte[str.length() / 2];
      for (int i = 0; i < val.length; i++) {
         int index = i * 2;
         int j = Integer.parseInt(str.substring(index, index + 2), 16);
         val[i] = (byte) j;
      }
      System.out.println(val);
   }
}

输出

[B@2a139a55

更新于: 2020-06-26

12K+ 次浏览

开启你的职业生涯

完成课程获得通过认证

开始
广告