public static void main(String[] args) {
    String input = "aabbbccdd你ddef哈";
    System.out.println(input.length());
    byte[] b = input.getBytes();
    byte[]b1 = new byte[10];
      for(int i= 0;i<10;i++){
     b1[i]= b[i]; 
    }
     
     System.out.print(new String(b1));
}
这个会出现个问号,请高手告诉我怎么截出10个字符来如果是半个汉字给补成一个汉字

解决方案 »

  1.   

    别用byte[]
    用char[]
    char[] b = input.toCharArray();
      

  2.   

    先判断是全角还是半角吧,如果是半角,长度加一,如果是全角,长度加二,直到长度大于等于十。判断半角用input.charAt(i) < 127,半角字母都在里面了。找到下标了,用substring()方法
      

  3.   

    针对char操作,一般判断charAt的值。可以利用ascii进行判断范围