티스토리 뷰
반응형
public static String shortCutString(String str, int limit) {
if (str == null)
return str;
if (limit <= 0) {
return str;
}
byte[] strbyte = str.getBytes();
if (strbyte.length <= limit) {
return str;
}
char[] charArray = str.toCharArray();
int checkLimit = limit;
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] < 256) {
checkLimit -= 1;
} else {
checkLimit -= 2;
}
if (checkLimit <= 0) {
break;
}
}
// 자를려는 마지막 자리가 2바이트 의 중간일경우
// 제거한다.
byte[] newByte = new byte[limit + checkLimit];
for (int i = 0; i < newByte.length; i++) {
newByte[i] = strbyte[i];
}
return new String(newByte);
}
반응형
댓글