프로젝트 중 문자 전송 관련하여 개발했을 때,
문자 내용 길이에 따라, SMS/LMS/MMS 기준으로 전송해야할 때가 있었다.
웹 검색 중 Byte 계산에 대한 1byte, 2byte 등 기준이 애매한게 많았다.
숫자, 영문, 띄어쓰기, 줄바꿈 등은 1byte
한글, 특수문자 등은 2byte로 계산하는것을 작성하였고, 추후에 필요할까 싶어 기록해놓는다.
public static int getByteLength(String str) {
int bytes = 0;
if (str == null) {
return bytes;
} else {
char[] strChar = str.toCharArray();
char ch; int code;
for (int i = 0; i < strChar.length; i++;) {
ch = strChar[i];
code = (int) ch;
// 2bytes
if ((ch < '0' || ch > '9') && (ch < 'A' || ch > 'Z') && code > 255) bytes += 2;
// 1bytes
else bytes +=1;
}
return bytes;
}
}
'Java > Component' 카테고리의 다른 글
[JAVA] isEmpty - null 혹은 비어있는지 비교 후 boolean (0) | 2022.03.24 |
---|---|
[JAVA] ObjectMapper를 이용한 Object To Json <T> (0) | 2020.07.28 |
[JAVA] ObjectMapper를 이용한 Object To Json (0) | 2019.04.12 |