-1
作爲輸入,我得到了一個short
數組,如{20,250,12,255}。
我需要將其轉換爲byte [] {20,-6,12,-1}
我試圖使用的ByteBuffer:將短陣列轉換爲Java中的帶符號字節數組
short[] data = {20, 250, 12, 255};
ByteBuffer dbuf = ByteBuffer.allocate(data.length*2);
dbuf.asShortBuffer().put(data);
byte[] array = dbuf.array();
但輸出格式化爲: {0,20,0 ,-6,0,12,0,-1}
如何得到像{20,-6,12,-1}這樣的有符號字節數組?
'在Java中byte'簽署。有沒有這樣的事情,一個字節值爲255. –
最簡單的方法就是循環訪問值,並使用'(byte)'強制轉換從短數組分配給字節數組。創建一個ByteBuffer會更慢,更模糊,並且更容易出錯。 –