我知道在python中binascii.unhexlify(initValue)
返回由十六进制字符串表示的二进制数据。在
我正在尝试将binascii.unhexlify(initValue)
转换为java。在
我尝试了java中的以下代码行,但得到的结果与python中的代码不同:
DatatypeConverter.parseHexBinary(value);
我运行以下示例:
我的输入-十六进制字符串:
^{pr2}$在python中运行时:
result = binascii.unhexlify(value)
我得到了:
result = "'\x00\x00\xf3\x1d2\xd1\x05\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
在java中运行时:
byte[] bytes = DatatypeConverter.parseHexBinary(value);
我得到了:
bytes = [39, 0, 0, -13, 29, 50, -47, 5, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
1.1为什么我会得到不同的结果?在
结果的第一个十六进制“'”在有符号字符中正好是39。在python中,可以使用内置函数ord(“'”)得到39。 您可能可以在这个python代码中得到您想要的东西
您将得到这个无符号字符:
^{2}$相关问题 更多 >
编程相关推荐