gpt4 book ai didi

Java:如何将这个 byte[] 反转为十六进制方法?

转载 作者:行者123 更新时间:2023-12-01 18:15:45 25 4
gpt4 key购买 nike

我在网上找到了这个,它可以满足我的需要,但是我如何反转它,也就是说如何将十六进制字符串转换回字节[]?

private static final char[] HEX_CHARS = {
'0', '1', '2' ,'3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f'
};

public String toHexString(byte[] bytes)
{
StringBuilder sb = new StringBuilder();
for(int i = 0; i < bytes.length; i++) {
byte b = bytes[i];
sb.append(new char[] {HEX_CHARS[(b >> 4) & 0x0f], HEX_CHARS[b & 0x0f]});
}

return sb.toString();
}

最佳答案

尝试以下操作:

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));
}
return data;
}

关于Java:如何将这个 byte[] 反转为十六进制方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29699231/

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