字节数组到字节的字符串

时间:2017-01-18 13:53:39

标签: java

我有:

  

String key =“0x64,0xC,-90,0x77,0x2B,-113,0xD,0x69,-111,0x76,0x11,0x35,-68,-110,-106,-81”

已经是十六进制的字节数组,保存在共享首选项中。我只需要如下所示。

  

byte [] input_key = new byte [] {key}

请注意,有负数。

1 个答案:

答案 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()

从那里开始,你肯定可以找出十进制解析。