String,StringBuilder,StringBuffer

*

1,String,字符串常量,不可变

StringBuffer:可以变,支持多线程,

StringBuilder:可以变,在大多数单线程情况下,更倾向于用StringBuilder,更快

import java.io.UnsupportedEncodingException;
public class TestStr{
    public static void main(String[] args){
        String str="abc深圳";
        System.out.println(str.length());//5
        try{
            System.out.println("abc深圳-ISO8859-1:"+"abc深圳".getBytes("ISO8859-1").length);//5
            System.out.println("abc深圳-GB2312:"+"abc深圳".getBytes("GB2312").length);//7
            System.out.println("abc深圳-GBK:"+"abc深圳".getBytes("GBK").length);//7
            System.out.println("abc深圳-UTF-8:"+"abc深圳".getBytes("UTF-8").length);//9
            byte[] bs="abc深圳".getBytes("GB2312");
            for(byte temp:bs){
                System.out.println(temp);
            }
        }catch(UnsupportedEncodingException e){
            
        }
        
        
    }
}

总结各个编码下的汉字字节数:

ISO8859-1:1个汉字占1个字节

GB2312,GBK:1个汉字/2个字节

UTH-8:1个汉字/3个字节

*

posted @ 2015-05-01 21:09  野鹤闲人  阅读(201)  评论(0编辑  收藏  举报