簡體   English   中英

將ArrayList字符串值轉換為字節數組

[英]Convert ArrayList String value to byte array

我有一個字符串格式的“ Arraylist”,其中包含字節數組的確切值,例如

{-119,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,84,0,0,0,84, 8、6、0、0}

我想將其轉換回看起來像的字節數組

{-119,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,84,0,0,0,84, 8、6、0、0}

但是我找不到一種方法來做到這一點,所以我可以解碼出字節數組中的圖像,但是沒有運氣

我試圖使用這種方法,其中“ yolo”是我的數組列表,但輸出字節數組具有不同的net值,為什么?

ByteArrayOutputStream lp = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(lp);

for (String element : yolo) 
     {
       try
       {
           out.writeUTF(element);
       }catch(IOException e)
          {
            e.printStackTrace();
          }
    }

    byte myimage[] = lp.toByteArray(); 

嘗試使用循環遍歷每個位置,並為數組中的每個位置使用Byte.valueof(yolo[position]) ,您應該擁有它。

不要使用ByteArrayOutputStream它比普通的字節數組要慢得多。 而且foreach比ArrayList的普通for循環慢,這是針對您問題的優化解決方案

int size = yolo.size();
byte[] byteArray = new byte[size]; 
for (int i = 0; i < size ; ++i)
{
    byteArray[i] = Byte.valueOf(yolo.get(i));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM