汉字占位

GBK编码,一个汉字占两个字节。 
UTF-16编码,通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范围是U+0000至U+FFFF,而这些扩展部分的范围大于U+20000,因而要用两个UTF-16)。
UTF-8编码是变长编码,通常汉字占三个字节,扩展B区以后的汉字占四个字节。
iso8859-1,一个汉字占1个字节。
public class Test {
	/**
	 * @param args
	 * @throws UnsupportedEncodingException 
	 */
	public static void main(String[] args) throws UnsupportedEncodingException {
		// TODO Auto-generated method stub
		String name="宋";
		int a=name.getBytes("gb2312").length;
		System.out.println(a);//a=2
		a=name.getBytes("utf-8").length;//一个汉字占3个字节
		System.out.println(a);//a=3
            a=name.getBytes("utf-16").length;//一个汉字占4个字节
		System.out.println(a);//a=4

		a=name.getBytes("gbk").length;
		System.out.println(a);//a=2
		a=name.getBytes("ISO8859-1").length;//一个汉字占一个字节
		System.out.println(a);//a=1
		a=name.length();//一个汉字占一个长度
		System.out.println(a);//a=1
		a=name.getBytes("UNICODE").length;//一个汉字占一个字节
		System.out.println(a);//a=4
	}

}

猜你喜欢

转载自love398146779.iteye.com/blog/2092785
今日推荐