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
相關文章
相關標籤/搜索