public class chun{
public static void main(String args[ ]){
byte d[]="YOUIHE你我他".getBytes();
System.out.println("数组d的长度是(一个汉字占两个字节):"+d.length);
String s=new String(d,6,2);
System.out.println(s);
}
}
理论上的输出结果应该是:
数组d的长度是(一个汉字占两个字节):12
你
可是实际的输出结果是:
数组d的长度是(一个汉字占两个字节):15
哪位告诉我,是怎么回事呢??谢谢
public static void main(String args[ ]){
byte d[]="YOUIHE你我他".getBytes();
System.out.println("数组d的长度是(一个汉字占两个字节):"+d.length);
String s=new String(d,6,2);
System.out.println(s);
}
}
理论上的输出结果应该是:
数组d的长度是(一个汉字占两个字节):12
你
可是实际的输出结果是:
数组d的长度是(一个汉字占两个字节):15
哪位告诉我,是怎么回事呢??谢谢
你用的是utf-8编码,一个汉字有3个字节
引用 1 楼 hitzsf 的回复:和编码方式有关系
你用的是utf-8编码,一个汉字有3个字节1楼是正解
然后,再打印看看