【发布时间】:2011-12-21 21:47:35
【问题描述】:
在我的 Java 程序中,我需要一个十六进制字符串中的字节数组。所以我做了以下事情:
byte[] key=HexUtils.convert("0AA387ED291F6D90");
这会将十六进制字符串转换为字节数组,如下所示:
输出:Byte Array: key:[10, -93, -121, -19, 41, 31, 109, -112]
现在,我想将十六进制字符串移动到属性文件中。但是我做不到。
Try 1:Properties file ====> key=0AA387ED291F6D90Java Program ====> byte[] key = HexUtils.convert(prop.getProperty("key"));
这会产生错误:BAD HEXADECIMAL DIGIT
Try 2:Properties file ====> key=\u000A\u00A3\u0087\u00ED\u0029\u001F\u006D\u0090Java Program ====> byte[] key = HexUtils.convert(prop.getProperty("key"));
Output: key:[10, -93, 63, -19, 41, 31, 109, 63]
如果您注意到,2 个字节与预期不同。 Hex 87 和 Hex 90。两者都转换为 63。而我期望分别为 -121 和 -112。
有人可以帮助我了解如何进行此转换。我希望我清楚!
安加德
【问题讨论】:
标签: java string file properties hex