자바에서 제공되는 substring 함수를 사용할 경우
특수 문자나 한글이 포함되면, 정확히 잘리지 않는 현상이 발생
아래 코드를 사용하여 바이트단위로 정확하게 자를 수 있게 처리
하지만 잘린 스트링이 한글이 포함될 경우 한글이 깨질 수 도 있을듯..
public String subStringBytes(String str, int byteLength) { // String 을 byte 길이 만큼 자르기.
int length = str.length();
int retLength = 0;
int tempSize = 0;
int asc;
for (int i = 1; i <= length; i++) {
asc = (int) str.charAt(i - 1);
if (asc > 127) {
if (byteLength >= tempSize + 2) {
tempSize += 2;
retLength++;
} else {
return str.substring(0, retLength);
}
} else {
if (byteLength > tempSize) {
tempSize++;
retLength++;
}
}
}
return str.substring(0, retLength);
}참고 URL : http://pmguda.com/579
반응형
'배워야 산다 > JAVA' 카테고리의 다른 글
| RAC 접속 URL STRING (0) | 2014.11.24 |
|---|---|
| 자바 split의 효율적인 사용 (0) | 2014.03.07 |
| 자바 소켓 연결시 타임아웃 설정 (0) | 2014.02.24 |
| 자바설치, 이클립스 설정 2/2 (0) | 2012.02.06 |
| 자바설치, 이클립스 설정 1/2 (0) | 2012.02.06 |