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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.