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

本文通过示例详细介绍了不同字符编码方式下英文字母和中文汉字所占的字节数,包括GB2312、GBK、GB18030、ISO-8859-1、UTF-8、UTF-16、UTF-16BE和UTF-16LE等编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原网址: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);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值