英文字母和中文汉字在不同字符集编码下的字节数

来源:互联网 发布:java怎么与mysql连接 编辑:程序博客网 时间:2024/05/20 06:56

原网址:http://www.cnblogs.com/lancidie/archive/2013/04/12/3017241.html

英文字母:                                   

字节数 : 1;编码:GB2312         

字节数 : 1;编码:GBK                 

字节数 : 1;编码:GB18030       

字节数 : 1;编码:ISO-8859-1   

字节数 : 1;编码:UTF-8             

字节数 : 4;编码:UTF-16           

字节数 : 2;编码:UTF-16BE      

字节数 : 2;编码:UTF-16LE      

 

中文汉字:

字节数 : 2;编码:GB2312

字节数 : 2;编码:GBK

字节数 : 2;编码:GB18030

字节数 : 1;编码:ISO-8859-1

字节数 : 3;编码:UTF-8

字节数 : 4;编码:UTF-16

字节数 : 2;编码:UTF-16BE

字节数 : 2;编码:UTF-16LE


可以通过代码看出以上结果:

import java.io.UnsupportedEncodingException;public class EncodingTest {/** *  * @param args *  */public static void main(String[] args) {String en = "A";String ch = "人";System.out.println("英文字母:" + en);printByteLength(en, "GB2312");printByteLength(en, "GBK");printByteLength(en, "GB18030");printByteLength(en, "ISO-8859-1");printByteLength(en, "UTF-8");printByteLength(en, "UTF-16");printByteLength(en, "UTF-16BE");printByteLength(en, "UTF-16LE");System.out.println();System.out.println("中文汉字:" + ch);printByteLength(ch, "GB2312");printByteLength(ch, "GBK");printByteLength(ch, "GB18030");printByteLength(ch, "ISO-8859-1");printByteLength(ch, "UTF-8");printByteLength(ch, "UTF-16");printByteLength(ch, "UTF-16BE");printByteLength(ch, "UTF-16LE");}/** *  * 打印不同字符集下Java字符串所占的字节数 *  *  *  * @param str *  *            待操作的字符串 *  * @param encodingName *  *            字符集名称 *  */public static void printByteLength(String str, String encodingName) {System.out.print("字节数 : ");try {System.out.print(str.getBytes(encodingName).length);} catch (UnsupportedEncodingException e) {e.printStackTrace();}System.out.println(";编码:" + encodingName);}}

0 0
原创粉丝点击