Javaで文字コードと文字列が占めるバイト数をどのように計算するか.
1220 ワード
異なる符号化バイト数が異なる【以下に一般的な3種類の符号化形式を列挙する】: GBK:漢字1文字が2バイト、アルファベット1文字が1バイト、オペレータ1バイト. UTF-8:1つの漢字は3バイトに等しく、中国語句号'.3バイトに等しく、1文字が1バイトに等しく、英語の句点'.'1バイト に等しい Unicode:1つの漢字が4バイトに等しく、いずれも2バイトに等しい【英語、数字、オペレータ[.,%,&]などのね】
public static void main(String[] args) {
//
String encoding = System.getProperty("file.encoding");
System.out.println(" :" + encoding);
try {
String str = " abc";
int len = str.getBytes().length;
System.out.println("1. :" + len);
len = str.getBytes("GBK").length;
System.out.println("2.GBK :"+ len);
len = str.getBytes("UTF-8").length;
System.out.println("3.UTF-8 :" + len);
len = str.getBytes("Unicode").length;
System.out.println("4.Unicode :" + len);
/*
* :UTF-8
* 1. :5
* 2.GBK :4
* 3.UTF-8 :5
* 4.Unicode :8
*/
} catch ( java.io.UnsupportedEncodingException e) {
System.out.println(e.getMessage().toString());
}
}