码迷,mamicode.com
首页 > 编程语言 > 详细

java按照字节切割字符串,解决汉字的问题

时间:2017-07-03 22:37:33      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:字符串   输入   import   int   取字符串   length   rac   oid   bytes   

编写一个截取字符串的函数,输入为一个字符串,截取开始地址,截取字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,

如“我ABC”,0,4,应该截为“我AB”,输入“我ABC汉DEF”,1,4,应该输出为“ABC”而不是“ABC+汉的半个”。

import java.io.UnsupportedEncodingException;

public class SubStr {

public static String bSubString(String str,int be,int length) throws UnsupportedEncodingException{

byte[] bytes;

bytes=str.getBytes("Unicode");

int z=be=2*be+2;

int n=0,count=0;

for(;be<bytes.length&&n<length;n++,be++){

if(bytes[be]==0){

n--;

}

count++;

}

System.out.println(be+" "+count+" "+n);

if(count%2==1){

if(bytes[count-1]!=0){

count--;

}else if(bytes[count-1]==0){

count++;

}

}

return new String(bytes,z,count,"Unicode");

 

}

public static void main(String[] args) {

String str="中国abc";

try {

System.out.println(bSubString(str,0,5));

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

java按照字节切割字符串,解决汉字的问题

标签:字符串   输入   import   int   取字符串   length   rac   oid   bytes   

原文地址:http://www.cnblogs.com/mengjingchuanshuo/p/7113069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!