*
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个字节
*