/**
* 璁$畻瀛楃涓茬殑 ascii 鐮侀暱搴?br />
*
* @param s
* @return
*/
public int strLength(String s) {
int result = 0;
for (int i = 0; i < s.length(); i++) {
if (isDoublebyteWord(s.substring(i, i + 1))) {
result += 2;
} else {
result += 1;
}
}
return result;
}
/**
* 鍒ゆ柇鏄惁鍙屽瓧鑺傚瓧絎?br />
*
* @param str
* @return
*/
public boolean isDoublebyteWord(String str) {
System.out.println(str);
byte[] b;
int temp;
for (int i = 0; i < str.length(); i++) {
b = str.substring(i, i + 1).getBytes();
temp = b[0];
if (temp > 0) {
return false;
}
}
return true;
}
/**
* 鍏壊瀛楃涓?br />
* @param s 瀛楃涓?br />
* @param len 涓灝忔鐨勯暱搴?br />
* @return
*/
public static String changeString(String s, int len) {
LongStringToShort lts=new LongStringToShort();
String result = "";
len = (int) len / 8;
int totalLen = lts.strLength(s);
// 閿欒璋冪敤
if (s.length() < 1 || len < 1)
return "";
// 鍙湁涓灝忔,涓嶅垎鍓?/span>
if (totalLen < len)
return s;
// 璁$畻璇ュ瓧絎︿覆搴旇鍒嗗嚑孌?/span>
int num = (int) totalLen / len;
if (((float) totalLen / len) > num)
num++;
System.out.println("搴旇鍒?/span>" + num + "孌?/span>" + len);
int sl = 0;
for (int i = 0; i < s.length(); i++) {
String temp = s.substring(i, i + 1);
if (lts.isDoublebyteWord(temp)) {
sl += 2;
} else {
sl += 1;
}
result += temp;
if (sl > (len - 1)) {
System.out.println("hello");
sl = 0;
result += "\n";
continue;
}
}
return result;
}

]]>