讲字符串按照字节截取 JAVA

来源:互联网 发布:mac重装系统全盘格式化 编辑:程序博客网 时间:2024/06/07 00:18

算是原创吧     原文作者是从字符串头开始截取的。。。。

   http://wenku.baidu.com/view/59e734aed1f34693daef3e08.html  

感谢原文作者的分享。。。。

 

问题描述: 实现一个按字节截取的字符串字串的方法,功能类似于String类的substring方法,substring是按照字符截取的 这里要求按照字节截取

代码如下:

import java.lang.String.*;class  Test{public static void main(String[] args) {String str = "你好sbc和dnsi哈";        String s=Test(str,2,7);System.out.println(s);}public  static String Test(String str,int start,int end){//byte[] byteS=str.getBytes();//字符串变成字节数组//char[] charS=str.toCharArray();//System.out.println("字节长度是"+byteS.length); 输出是15//System.out.println("字符长度是"+charS.length); 输出是11   char[] charS = str.toCharArray();// 将字符串变成字符数组int count=0;//计算到目前为止字节数是多少String ByteBack="";//返回的自己数组int i=0;for(;i<charS.length;i++){String str1 = String.valueOf(charS[i]);//将目前字符数组i变成字符串 为的是计算它的字节数byte[] byteS=str1.getBytes();count += byteS.length;if(count>=start+1 && count <= end){     ByteBack += charS[i];}else continue;}return ByteBack;}}


之前按照字节数组那样做 输出是数字 有负数有正数   负数表示汉字 

原创粉丝点击