【问题标题】:How to prepend/add a "03" infront of hexString of a byte array in java?java - 如何在java中字节数组的hexString前面添加/添加“03”?
【发布时间】:2021-07-13 20:20:16
【问题描述】:

假设我有一个字节数组

byte [] initial = ......;

它对应的十六进制字符串是0x6b6164756d,即;

System.out.println(Numeric.toHexString(initial)); //--> 0x6b6164756d

如何在“initial”前面加上“03”,这样当我的时候

System.out.println(Numeric.toHexString(initial)); //--> 0x036b6164756d

它给了我 0x036b6164756d

【问题讨论】:

  • 0xfr123444 是无效的十六进制数
  • @Reimeus 感谢您的评论,我只是匆忙决定了十六进制字符串。但是我现在已经更新了十六进制字符串。

标签: java arrays hex


【解决方案1】:

我看到两个选项:

  1. 在前面插入一个值为 3 的 byte

    byte[] copy = new byte[initial.length + 1];
    copy[0] = 0x03;
    System.arraycopy(initial, 0, copy, 1, initial.length);
    System.out.println(Numeric.toHexString(copy));
    
  2. 修改字符串。

    System.out.println(Numeric.toHexString(initial).replace("x", "x03"));
    

【讨论】:

    猜你喜欢
    • 2019-12-09
    • 2013-03-03
    • 2016-05-03
    • 1970-01-01
    • 2023-02-04
    • 1970-01-01
    • 2014-10-13
    • 2017-05-17
    • 2017-01-17
    相关资源
    最近更新 更多