java按字节截取字符串

来源:互联网 发布:csol刷枪软件免费版 编辑:程序博客网 时间:2024/05/01 09:41

     java以字符为unicode编码 ,2个字节,汉字对应的int值大于255;因此可以通过str.charAt()获得某个字符进行判断;

     注意:substring()不能实现字节截取,它截取的单位是字符;  

    //按字节截取 count个字节

      public void substr(String str,int count){char c;int strlen = str.length();String substr = "";int truelen = 0;for(int i=0;(i<strlen)&&(truelen<count);i++){c = str.charAt(i);if(c>255){//汉字truelen+=2;}else{ //字母truelen++;}substr+=String.valueOf(c);}System.out.println(substr);}


 

 

还有一种方法是将对应字符存入一个byte数组,一个汉字对应的byte数组长度为2;

代码如下:

  public void substring(String str, int toCount){int reInt = 0;String reStr = "";char[] tempChar = str.toCharArray();for (int kk = 0; (kk < tempChar.length && toCount > reInt); kk++){String s1 = str.valueOf(tempChar[kk]);byte[] b = s1.getBytes();reInt += b.length;//汉字的length为2reStr += tempChar[kk];}System.out.println(reStr); }


 

原创粉丝点击