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

String 类的getBytes()方法有关问题

2012-03-26 
String 类的getBytes()方法问题比如 java中国“getByte之前最大索引为5,若截取索引号为3到5.截取的是java

String 类的getBytes()方法问题
比如 "java中国“
getByte之前     最大索引为5,若截取索引号为3到5.截取的是
                          "java中 "
getByte之后,最大索引变为8,若截取索引号为3到5,就会
            截取 "a+“中”(两个字节)的前一半字节。
这样“中”字就不会显示出来。

上面是指定的索引范围。
有人会说数一下范围不就知道了。
现在的问题是任意截断。要显示出来中文的效果。
(若截到中文的前一个字节,那样中文中显示不出来,就要显示整个中文来,   注意:先要用getByte())

[解决办法]
BreakIterator breakIterator = BreakIterator.getCharacterInstance(Locale.CHINESE);
String str = "java中国 ";
breakIterator.setText(str);
int index = 0;
while((index =breakIterator.next()) != BreakIterator.DONE){
System.out.println(str.substring(0, index));
}
[解决办法]
public static void main(String[] args) {
String ttt = "java中国 ";
int len = ttt.length();
System.out.println (len);
System.out.println (ttt.substring(3, len));
}

结果:
6
a中国

-----------------------------------

lz是不是看错了?还是你的操作系统不是简体中文?

热点排行