2016-10-13 7 views
1

こんにちは私は整数値を符号なしバイト配列に変換するために多くのリンクを見ました。しかし私は明確なアイデアを得ることができません。整数をJavaまたはAndroidで符号なしバイト配列に変換する

// C#で[-52、0,1、-105]アンドロイド
にアンドロイド

int checksum=104396; 

byte[] byteArray = GetBytesInt(checksum); 

public static byte[] GetBytesInt(int value) { 
     byte[] bytes = new byte[4]; 
     bytes[0] = (byte) (value >> 24); 
     bytes[1] = (byte) (value >> 16); 
     bytes[2] = (byte) (value >> 8); 
     bytes[3] = (byte) (value); 
     return bytes; 
    } 

出力に

//を次のように私の変換がある

uint CheckSum=104396; 

byte[] byteArray=BitConverter.GetBytes(CheckSum) 

where BitConverter is System method 

の出力はC#

[204,151,1,0]

どのように私はこの出力をjavaまたはアンドロイドで取得します。私はJava 8とGuavaが同じものを返すかどうかチェックします。

LITTLE_ENDIAN形式のバイト配列は、問題を解決したの取得、@greenappsの提案を1として、いくつかのコーディング

+0

android'で '出力。あなたは出力するコードを投稿しませんでした。 – greenapps

+0

私はコード – user2634966

+0

の下にopバイトの値を述べました。いいえ、私はすでに出力を見ました。しかし、私は出力を生成するために使用したコードを尋ねました。どのように印刷しましたか? – greenapps

答えて

0

で私を助けてください。アンドロイド

ByteBuffer byteBuffer = ByteBuffer.allocate(4); 
byteBuffer.order(ByteOrder.LITTLE_ENDIAN); 
byteBuffer.putInt((int) (value & 0xffffffffL)); 
byte[] array=Bytes.asList(byteBuffer.array()) 

出力[-52、-105,1,0]

関連する問題