字节序和字符编码释疑
编码单元:单字节,双字节
字节序:big_endian,little_endian
?
单字节编码单元:UTF-8,GBK.
双字节编码单元:UTF-16,UCS-2
?
单字节编码单元不存在字节序问题,双字节编码单元的编码才存在字节序问题
?
?
编码在java中的使用
?
String a = "人" //"人"在内存中以UCS-2编码存在,占用2个字节
?
byte[]? utf8=a.getBytes("UTF-8"); //字节数组utf8为3个字节的UTF-8编码
?
Bytebuffer bf =Bytebuffer.wrap(new byte[2]);//java中只对其jvm中的内容编码UCS-2提供了默认的字节序转换办法
?
bf.order(ByteOrder.LITTLE_ENDIAN);
bf.toCharArray.put(a);
?
对于UTF-16编码的字符串,java没有提供默认的字节序转换方法
?
?
?
?
?