我有:
String key =“0x64,0xC,-90,0x77,0x2B,-113,0xD,0x69,-111,0x76,0x11,0x35,-68,-110,-106,-81”
已经是十六进制的字节数组,保存在共享首选项中。我只需要如下所示。
byte [] input_key = new byte [] {key}
请注意,有负数。
答案 0 :(得分:0)
留下实际解析给你找出,这就是我在评论中所描述的:
String[] sNums = key.split(","); // Mind that the elements will still contain whitespace!
byte[] bNums = new byte[sNums.length];
for( int i = 0; i < bNums.length; i++ )
{
if( sNums[i].trim().startsWith("0x") )
{
bNums[i] = [insert hex parsing here]
}
else
{
bNums[i] = [insert decimal parsing here]
}
}
效率不高也不优雅,但如果解析正确,可能会有效。
剧透:鲍里斯实际上已经破坏了Hex-Parsing(将鼠标指向黄色字段vv)
Integer.valueOf(s,16).byteValue()
从那里开始,你肯定可以找出十进制解析。