public
String subStringBytes(String str,
int
byteLength,
int
sizePerLetter) {
int
retLength =
0
;
int
tempSize =
0
;
int
asc;
if
(str ==
null
||
""
.equals(str) ||
"null"
.equals(str)) {
str =
""
;
}
int
length = str.length();
for
(
int
i =
1
; i <= length; i++) {
asc = (
int
) str.charAt(i -
1
);
if
(asc >
127
) {
if
(byteLength >= tempSize + sizePerLetter) {
tempSize += sizePerLetter;
retLength++;
}
}
else
{
if
(byteLength > tempSize) {
tempSize++;
retLength++;
}
}
}
return
str.substring(
0
, retLength);
}
UTF-8일 경우
subStringBytes("블라블라블라라", 10, 3);
EUC-KR일 경우
subStringBytes("블라블라블라라", 10, 2);
출처: http://www.donnert.net/88 [donnert.net]
'IT > JAVA' 카테고리의 다른 글
URL에서 정보 가져오기 (0) | 2017.08.02 |
---|---|
HashMap 정렬 (0) | 2016.03.11 |
JAVA 특수문자 split (0) | 2015.11.05 |
랜덤숫자 7개 생성하기 (로또번호 생성하기,정렬) (0) | 2014.12.29 |
이클립스 루나 테마,배경 바꾸기 ( DARK ) (0) | 2014.07.10 |