我想截一段字符串 但是如果有中文 可能截取了一半中文 怎么解决

解决方案 »

  1.   

    提问!
    java中char类型占用几个字节?
    一个汉字是否能用一个char来表示?为什么!Java中一个char是两个字节
    当然可以容纳下汉字了
    你是怎么想的
    会截取出半个汉字的!
    你的Java基础不是很牢么!!!
      

  2.   

    中文byte是占2个,英文是占1个,
    string.length和string.getbyte-array.length是不一样的
    看你的String 是怎么弄了
      

  3.   


    public String subStringByByte(String s, int i) {
    if(s.equals("") || i<0) return "";
    byte[] b = s.getBytes();
    if(i>b.length) return s;
    String cStr = new String(b, i-1, 2);
    if(cStr.length()==1 && s.contains(cStr)) i-=-1;
    return new String(b, 0, i);
    }这样就是通过字节来截取字符串的。如果截取到位置正好是中文字符的话,将被舍弃掉。
      

  4.   

    人家截串原始数据用的byte[]不行啊?