我有一个实际上由十六进制字符组成的字符串数组。
假设内容是->
String array[] = {8C,D9,26,1D,69,B7,96,DB};
现在我希望将它们解释为每个 1 个字节的十六进制字符,而不是每个条目为 2 个字节的字符串。
StringBuilder output = new StringBuilder();
for (int j = 0; j < array.length; j++) {
String temp = "\u00"+ array[j];
output.append(temp);
}
尝试过类似的事情,但这是不可能的,因为它一直在抱怨“非法的 unicode 转义”。我尝试使用“\u00”(即 u 之前的两个反斜杠,但 stackoverflow 在那里只显示一个)而不是“\u00”来解决该错误,但是我没有在数组中看到真正的十六进制值,而是我看到一堆字符串,如 -> "\U008C" , "\U00D9" 等等..
我希望转换后的值为 0x8C、0xD9、0x26...
谢谢。
编辑:我已经更新了这个问题,只是为了澄清数组本身没有逗号。最终我需要将所有这些值放在一起,并将其用作 HMAC 密钥,它是十六进制字符串而不是文本字符串。