gpt4 book ai didi

java - Java中将十六进制字符串转换为十六进制字符串字节数组

转载 作者:行者123 更新时间:2023-12-02 10:54:24 25 4
gpt4 key购买 nike

我很难尝试将包含十六进制字符串表示形式的字符串转换为其相应的十六进制字符串字节数组。

我尝试了这段代码

public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) (((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s
.charAt(i + 1), 16)) & 0xFF);
}
return data;
}

这不是我正在寻找的上面包含“FF”的代码的确切值 --> -1。

预期为“FF”--> byte[] { FF }。

例如:"01FF0A2357F01A"结果应该像这样byte[] { 01 FF 0A 12 57 F0 1A }。

最佳答案

我认为你的期望不太正确,但是,

    String hex = "ff";
Integer i = Integer.valueOf(hex, 16);
System.out.println(i);
Byte b = i.byteValue();
System.out.println(b);
System.out.println(Integer.toHexString(i));

FF-1 的十六进制字符串表示

关于java - Java中将十六进制字符串转换为十六进制字符串字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51889911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com