用java和python将hexstring转换为字节数组

2024-04-26 20:49:35 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是我尝试用java和python进行转换的示例代码。我不熟悉这个概念。为什么我得到不同的价值?在python中如何获得与java中相同的值?在

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;
    }
output :[B@57829d67
In python I tried:
test = bytearray.fromhex("4BE7C580")
output : bytearray(b'K\xe7\xc5\x80')

Tags: 代码概念示例outputdatalenjavabyte
1条回答
网友
1楼 · 发布于 2024-04-26 20:49:35

似乎是对的。在

public static void main(String[] args) {
    byte[] array = hexStringToByteArray("4BE7C580");
    System.err.println(Arrays.toString(array));
    for (byte b : array) {
        System.err.println(Integer.toHexString(b & 0xff));
    }
}

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;
}

给予

^{pr2}$

相关问题 更多 >