// : c12:Endians.java
// Endian differences and data storage.
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
public class Endians {
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()));
}
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();
}
} ///:~