源码:
package lsh.java.charset;import java.nio.charset.Charset;public class LengthOfUTF_8 { public static void main(String[] args) {
System.out.println("系统默认编码为: "+Charset.defaultCharset().name());
testEnglish();
System.out.println("------------分割线--------------");
testChinese();
} public static void testEnglish(){
String str = new String("a");
byte[] bytes1 = str.getBytes(Charset.forName("UTF-8"));
byte[] bytes2 = str.getBytes(Charset.forName("GBK"));
System.out.println("UTF-8格式1个英文字长度 = "+bytes1.length);
System.out.println("GBK 格式1个英文字长度 = "+bytes2.length);
} public static void testChinese(){
String str = new String("我");
byte[] bytes1 = str.getBytes(Charset.forName("UTF-8"));
byte[] bytes2 = str.getBytes(Charset.forName("GBK"));
System.out.println("UTF-8格式1个中文字长度 = "+bytes1.length);
System.out.println("GBK 格式1个中文字长度 = "+bytes2.length);
}
}
输出结果:
系统默认编码为: UTF-8
UTF-8格式1个英文字长度 = 1
GBK 格式1个英文字长度 = 1
------------分割线--------------
UTF-8格式1个中文字长度 = 3
GBK 格式1个中文字长度 = 2