“人” 转换成byte 显示长度为 3,“b”转换成byte 显示长度也为3,印象中:英文字符占1个字节,中文占两个字节。输出的和显示的不一样,希望能帮我解释一下,谢谢大家!还有,String c = "人",然后c.length()为什么是1。
String a = "人";
byte[] byte1 = a.getBytes("UTF-8");
System.out.println(byte1.length);//输出3
for (int i = 0;i < byte1.length;i++)
System.out.print(byte1[i]);//输出-28-70-70
System.out.println();
String c = "人";
System.out.println(c.length());//输出1
String b = "b";
byte[] byte2 = a.getBytes("UTF-8");
System.out.println(byte2.length);// 3
for (int i = 0;i < byte2.length;i++)
System.out.print(byte2[i]);//输出-28-70-70