我有一個int數組int[] stegoBitsArray = {0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,1...}
我希望每個比特轉換爲字節並添加到字節數組我以後將轉換爲字符數組,因爲01101100是字母「l」等就這麼...所以我試圖用的ByteBuffer但它拋出我BufferOverflowException這裏是我的代碼片段:JAVA陣列的字節陣列
int[] stegoBitsArray = getStegoTextFromImage(stegoImage);
ByteBuffer byteBuffer = ByteBuffer.allocate(stegoBitsArray.length);
for (int i = 0; i < stegoBitsArray.length; i++) {
byteBuffer.putInt(stegoBitsArray[i]);
}
,或者它更多更好地從int數組轉換爲字符?
是'0110110001100001'一個**十進制數**僅包含0/1的數字,或者是一個**的二進制數**你寫的二進制? –
它是一個包含值0或1的數組 –
如果要將8個「0」或「1」的int值轉換爲「byte」,則必須使用位操作(例如,使用'<<'和'|'運算符。沒有庫方法可以爲你做,*你*必須編寫代碼來完成它。 --- *意見:* getStegoTextFromImage()是一種什麼樣的白癡方法,將* bits *作爲int []'返回? * Yikes!* – Andreas