不知道有没有更高效的办法比如字符串
我是1只小小鸟现在要取4个byte长就是说,结果是:我是(4个字节长)如果是
1个小鸟同样要求,结果只能是:1只最终的目标:
比如有2句话:现在社会中有。。
342343432423432占的位置一样多,如果用substring肯定不行,
解决方案 »
- applet中通过JNA调用DLL报错,求指点
- <img src="">标签中的src真的可以使用Servlet的路径么?
- 如何提取word文档中的内容显示在web页面上?
- 我要一个jxl.jar,50分,收到结帐
- 利用servlet进行跳转到一个jsp页面后,此页面css样式表调用无效???
- 一个servlet 导致HTTP 500错误
- 请大家帮忙!resin+sqlserver的连接池!
- 代码实现get提交后返回结果页面html代码不齐只有3份之2的html代码为什么?
- javabean放什么地方?
- java或者javascript,如何取得图片尺寸或者分辨率
- 关于javamail的问题.很奇怪,邮件只能发送给自己服务器内的.
- 如何给这段代码加个超链接?
/**
* @param inputStr 输入字符串
* @param subNum 要借取得字节数
* @return 截取后的字符串
*/
public String subStringb(String inputStr, int subNum){
char[] stringb = inputStr.toCharArray();
String subString = "";
int byteNum = 0;
for(int i = 0; i < stringb.length; i++){
String sl = String.valueOf(stringb[i]);
byteNum += sl.getBytes().length;
if(byteNum > subNum){
break;
}
subString += sl;
}
return subString;
}考虑到全角字符若取单数字节会出现乱码,所以只取到整字符。
* 按字节长度截取字符串
* @param str 将要截取的字符串参数
* @param toCount 截取的字节长度
* @param more 字符串末尾补上的字符串
* @return 返回截取后的字符串
*/
public String substring(String str, int toCount, String more) {
int reInt = 0;
String reStr = "";
if (str == null)
return "";
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;
reStr += tempChar[kk];
}
if (toCount == reInt || (toCount == reInt - 1))
reStr += more;
return reStr;
}
然后循环一下