摘要
JDK:1.8.0_202
# 一:解析
public static void main(String[] args) throws Exception {
String a1 = "中";
System.out.println("UTF-8编码长度:" + a1.getBytes(StandardCharsets.UTF_8).length); // UTF-8编码长度:3
System.out.println("GBK编码长度:" + a1.getBytes("GBK").length); // GBK编码长度:2
System.out.println("GB2312编码长度:" + a1.getBytes("GB2312").length); // GB2312编码长度:2
System.out.println("==========================================");
String a2 = "a";
System.out.println("UTF-8编码长度:" + a2.getBytes(StandardCharsets.UTF_8).length); // UTF-8编码长度:1
System.out.println("GBK编码长度:" + a2.getBytes("GBK").length); // GBK编码长度:1
System.out.println("GB2312编码长度:" + a2.getBytes("GB2312").length); // GB2312编码长度:1
System.out.println("==========================================");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
运行结果:
总结:
字符串是utf-8编码,一个汉字三个字节,一个字母一个字节;
字符串是gbk编码时,一个汉字两个字节,一个字母一个字节。