您的位置:首页 > 其它

编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个

2016-11-04 00:00 676 查看

编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉的半个”

package cglib;

import java.io.UnsupportedEncodingException;
public class StringNumber {

/**
* @param args
*/
public static void main(String[] args) {
String str = "我ABC汉DEF";
int num = 0;
try {
num = trimGBK(str.getBytes("GBK"),6);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.println(str.substring(0,num) );

}

public static int trimGBK(byte[] buf,int n){
int num = 0;
boolean bChineseFirstHalf = false;
for(int i=0;i<n;i++)
{
if(buf[i]<0 && !bChineseFirstHalf){
bChineseFirstHalf = true;
}else{
num++;
bChineseFirstHalf = false;
}
}
return num;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐