public static void main(String[] args) {
/*
* s共有4个字节,“你”占有两个字节,在GB2312编码表中记录着中文和二进制的关系。
* ASCII是美国的编码表,而GB2312就是按照一个中文两个字节的方式编码的。
*/
String s="abc你好";
byte[] bytes=s.getBytes();
for (int i = 0; i < bytes.length; i++) {
System.out.print(bytes[i]+" ");
System.out.println(Integer.toBinaryString(bytes[i]));
}
/* 打印结果:正数的高位是0,默认省略不显示。
* 97 1100001
* 98 1100010
* 99 1100011
* -60 11111111111111111111111111000100
* -29 11111111111111111111111111100011
* -70 11111111111111111111111110111010
* -61 11111111111111111111111111000011
*/
}
|