首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java 字符小问解决思路

2011-12-29 
java 字符小问String straSystem.out.println(str.getBytes().length)String底层是字符数组,字符用un

java 字符小问
String str="a";
System.out.println(str.getBytes().length); 
String底层是字符数组,字符用unicode编码,unicode用两个字节代表一个字符,为什么这个结果是1?不是2
 String str="中";
System.out.println(str.getBytes().length); 这个输出就是2

或者说string的编码不是unicode?

[解决办法]

Java code
public static void main(String args[]) throws Exception{       String str="a";       System.out.println(str.getBytes().length); //1       System.out.println(str.getBytes("GB2312").length); //1       System.out.println(str.getBytes("utf-8").length); //1       System.out.println(str.getBytes("UTF-16BE").length); //2       System.out.println(str.getBytes("UTF-16LE").length); //2       System.out.println(str.getBytes("UTF-16").length); //4   } 

热点排行