Java不同编码方式,中英文字符所占字节数

测试代码

 1 public class Test {
 2 
 3     public static void main(String[] args){
 4 
 5         String[] charsetNames={    
 6                                     "UTF-8",
 7                                     "UTF-16",
 8                                     "UTF-16BE",
 9                                     "UTF-16LE",
10                                     "UTF-32",
11                                     "UTF-32BE",
12                                     "UTF-32LE",
13                                     "UNICODE",
14                                     "GBK",
15                                     "GB2312",
16                                     "GB18030",
17                                     "ISO8859-1",
18                                     "BIG5",
19                                     "ASCII"
20                                }; 
21 
22 
23         for(int i=0;i<charsetNames.length;i++){
24             printByteLength(charsetNames[i]);
25         }
26 
27     }
28 
29     /**
30      * String类的不带参数的getBytes()方法会以程序所运行平台的默认编码方式为准来进行转换,
31      * 在不同环境下可能会有不同的结果,因此建议使用指定编码方式的getBytes(String charsetName)方法。
32      */
33     public static void printByteLength(String charsetName){
34         String en="a";    //一个英文字符
35         String zh="啊";    //一个中文字符
36         try {
37             System.out.println(charsetName+"编码英文字符所占字节数:"+en.getBytes(charsetName).length);
38             System.out.println(charsetName+"编码中文字符所占字节数:"+zh.getBytes(charsetName).length);
39             System.out.println();
40         } catch (UnsupportedEncodingException e) {
41             System.out.println("非法编码格式!");
42         }
43     }
44 }

运行结果:

UTF-8编码英文字符所占字节数:1
UTF-8编码中文字符所占字节数:3

UTF-16编码英文字符所占字节数:4
UTF-16编码中文字符所占字节数:4

UTF-16BE编码英文字符所占字节数:2
UTF-16BE编码中文字符所占字节数:2

UTF-16LE编码英文字符所占字节数:2
UTF-16LE编码中文字符所占字节数:2

UTF-32编码英文字符所占字节数:4
UTF-32编码中文字符所占字节数:4

UTF-32BE编码英文字符所占字节数:4
UTF-32BE编码中文字符所占字节数:4

UTF-32LE编码英文字符所占字节数:4
UTF-32LE编码中文字符所占字节数:4

UNICODE编码英文字符所占字节数:4
UNICODE编码中文字符所占字节数:4

GBK编码英文字符所占字节数:1
GBK编码中文字符所占字节数:2

GB2312编码英文字符所占字节数:1
GB2312编码中文字符所占字节数:2

GB18030编码英文字符所占字节数:1
GB18030编码中文字符所占字节数:2

ISO8859-1编码英文字符所占字节数:1
ISO8859-1编码中文字符所占字节数:1

BIG5编码英文字符所占字节数:1
BIG5编码中文字符所占字节数:2

ASCII编码英文字符所占字节数:1
ASCII编码中文字符所占字节数:1

 

posted @ 2016-08-23 16:13  萌小Q  阅读(3094)  评论(1编辑  收藏  举报