CharBuffer и ByteBuffer - кодировка кодировки
Java хранит символы в формате UCS-2.
byte[] bytes = {0x00, 0x48, 0x00, 0x69, 0x00, 0x2c,
0x60, (byte)0xA8, 0x59, 0x7D, 0x00, 0x21};
// Print UCS-2 in hex codes
System.out.printf("%10s", "UCS-2");
for(int i=0; i<bytes.length; i++) {
System.out.printf("%02x", bytes[i]);
}
1) В приведенном ниже коде
Charset charset = Charset.forName("UTF-8");
// Encode from UCS-2 to UTF-8
// Create a ByteBuffer by wrapping a byte array
ByteBuffer bb = ByteBuffer.wrap(bytes);
Какой порядок байтов используется для хранения bytes
в bb
на wrap()
? BigEndian или LittleEndian?
2) В приведенном ниже коде
// Create a CharBuffer from a view of this ByteBuffer
CharBuffer cb = bb.asCharBuffer();
ByteBuffer bbOut = charset.encode(cb);
Какой формат кодирования используется для хранения байтов bb
как персонажи в cb
на asCharBuffer()
?