관리 메뉴

공부한것들을 정리하는 블로그 입니다.

전각문자를 반각문자로 치환 본문

경력 실무경험/실무 주제

전각문자를 반각문자로 치환

호 두 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();
}

 

 

 

반응형
Comments