Java ByteBuffer convert to String and show endian difference
import java.nio.ByteBuffer; import java.nio.ByteOrder; public class Main { public static void main(String[] args) { ByteBuffer bb = ByteBuffer.wrap(new byte[12]); bb.asCharBuffer().put("ABC"); System.out.println(toString(bb.array())); bb.rewind();//from w w w . java2 s.c om bb.order(ByteOrder.BIG_ENDIAN); bb.asCharBuffer().put("ABC"); System.out.println(toString(bb.array())); bb.rewind(); bb.order(ByteOrder.LITTLE_ENDIAN); bb.asCharBuffer().put("ABC"); 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(); } }