1

I am trying to convert an int[] to bytes . It gets converted also.

My code for conversion is this.

public static byte[] convertIntoBytes(int[] menuIds){
    byte[] byteConverted;
    ByteBuffer byteBuffer = ByteBuffer.allocate(menuIds.length * 4);
    IntBuffer intBuffer = byteBuffer.asIntBuffer();
    intBuffer.put(menuIds);
    byteConverted = byteBuffer.array();
    for (int i = 0; i < 840; i++) {
        Log.d("Bytes sfter Insert", ""+byteConverted[i]);
    }
    return byteConverted;
}

Suppose i an inputting an int[] = {10,11,15,41,12,8,4,23,5,17,23,36,6} Now i want the byte array to be like this {10,0,0,0,11,0,0,0,15,0,0,0,41,0,0,0,12,0,0,0,8,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,17,0,0,0,23,0,0,0,36,0,0,0,6,0,0,0}

But the byte array coming to be is

{0,0,0,10,0,0,0,11,0,0,0,15,0,0,0,41,0,0,0,12,0,0,0,8,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,17,0,0,0,23,0,0,0,36,0,0,0,6,}

Actually i am trying to get the byte array to be start from first position.

1
  • 2
    Sounds like you may be looking for the order(java.nio.ByteOrder) method? Default is ByteOrder.BIG_ENDIAN, so have a go with ByteOrder.LITTLE_ENDIAN. Commented Aug 13, 2013 at 7:43

2 Answers 2

2

try this

...
ByteBuffer byteBuffer = ByteBuffer.allocate(menuIds.length * 4);
byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
...
Sign up to request clarification or add additional context in comments.

Comments

1

That depends on bits order on current machine.

2 Comments

by bit you mean byte?
@njzk2 yes byte, typo

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.