2016-07-07 71 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

這取決於你的源超出當前問題的範圍 - 此方法只將十六進制數字串表示轉換爲字節數組。 –

相關問題