경력 실무경험/실무 주제
전각문자를 반각문자로 치환
호 두
2023. 4. 21. 16:21
반응형
* 해당 글은 계속 수정 예정입니다.
최초 작성일 2020.11
마지막 수정일 2023.04
# 전각문자를 반각문자로 치환
- 바이트의 차이(반각은 1바이트, 전각은 2바이트로 표현됨)을 고려 할 것
ex) 5바이트가 남은 경우 전각문자는 두개만 삽입 가능
- 특히 공백('0x20')에 대해 주의하고,
- 0xfee0 이상의 문자는 전각문자이므로 0xfee0를 빼서 일반 문자로 변환하면 반각문자가 나온다는 것을 이해 할 것.
public static String fullToHalf(String str) {
StringBuffer sb = new StringBuffer();
char c = 0;
int length = PgStringUtils.length(str);
for (int i = 0; i < length; i++) {
c = PgStringUtils.charAt(str, i);
if (c >= '!' && c <= '~') {
c -= 0xfee0;
} else if (c == ' ') {
c = 0x20;
}
sb.append(c);
}
return sb.toString();
}
반응형