如给定字符串"中ABC汉" ,给定字节长度7,输出“中ABC"
import java.util.ArrayList;
import java.util.List;
public class TestOften{
public static void main(String[] args) throws Exception {
printString("中ABC汉",7);
String str = "中";
System.out.println(str.getBytes("gb2312").length);
System.out.println(str.getBytes("utf-8").length);
}
public static void printString(String str, int length){
int count = 0;
List<Integer> list = new ArrayList<>();//测试每一个字符字节长度
for(int i=0;i<str.length();i++){
int bytelength = (str.charAt(i)+"").getBytes().length;
count += bytelength;
list.add(bytelength);
if(count<=length){
System.out.print(str.charAt(i));
}
}
System.out.println(list);
}
}
2
3
对于中文不同编码方式字节长度不一样