자바에서 제공되는 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 |