Mega Code Archive

 
Categories / Java Tutorial / File
 

Endian differences and data storage

import java.nio.ByteBuffer; import java.nio.ByteOrder; public class MainClass {   public static void main(String[] args) {     ByteBuffer bb = ByteBuffer.wrap(new byte[12]);     bb.asCharBuffer().put("abcdef");     System.out.println(toString(bb.array()));     bb.rewind();     bb.order(ByteOrder.BIG_ENDIAN);     bb.asCharBuffer().put("abcdef");     System.out.println(toString(bb.array()));     bb.rewind();     bb.order(ByteOrder.LITTLE_ENDIAN);     bb.asCharBuffer().put("abcdef");     System.out.println(toString(bb.array()));   }   public static String toString(byte[] a) {     StringBuffer result = new StringBuffer("[");     for (int i = 0; i < a.length; i++) {       result.append(a[i]);       if (i < a.length - 1)         result.append(", ");     }     result.append("]");     return result.toString();   } } /*  * [0, 97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102] [0, 97, 0, 98, 0, 99, 0, 100,  * 0, 101, 0, 102] [97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102, 0]  */