2016-07-07 66 views
-4

任何人都可以解释这段代码的执行吗?谢谢!字符串到ByteArray

private byte[] convertStringToByteArray(String paramString) 

{ 

    int i = paramString.length(); 

    byte[] arrayOfByte = new byte[i/2]; 
    for (int j = 0; j < i; j += 2) 
    { 
    int k = Integer.parseInt(paramString.substring(j, j + 1), 16); 
    int m = Integer.parseInt(paramString.substring(j + 1, j + 2), 16); 
    arrayOfByte[(j/2)] = (byte)(m + (k << 4) & 0xFF); 
    } 
    return arrayOfByte; 
} 
+2

你为什么不跑去看?通过调试器? –

+0

你应该做的一件事就是给出一个属性。由于您没有编写此代码,因此您应该编辑您的问题并添加关于代码的来源以及作者的信息。 – RealSkeptic

回答

0

该代码尝试将字符串表示形式的十六进制数转换为字节数组。 字符串FF将被转换为单字节数组,其第一个字节值为0xFF(十进制中的255)。

+0

谢谢你Pavel ....它只是一段代码...程序是从RFID读取数据并将数据写入它... – User9123

+0

当我写入数据如4444555533332222 ..依次是点击写入数据后得到的值为44445555333322220000000000000000.如何删除最后16个零点? – User9123

+0

这取决于你的源超出当前问题的范围 - 此方法只将十六进制数字串表示转换为字节数组。 –

相关问题