实际应用中编码的格式多种多样,他们的特性也各不相同。有些编码格式是定长的,而有些则是不定长的,下面是一个使用UTF-16编码的定长特性(长度一般情况下都为2)编写的一个字符串截取函数,具体实现如下:
public static String substr(String s,int offset,int length) throws UnsupportedEncodingException{
byte[]bts=s.getBytes("UTF-16");
if(offset+length>(bts.length-2)/2){
throw new RuntimeException("字符串长度不能超过:"+(bts.length-2)/2);
}
int begin=offset*2+2;
int len=length*2;
return new String(bts,begin,len,"UTF-16");
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23071790/viewspace-708068/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23071790/viewspace-708068/