연구실/소스공유

UTF-16, USC2 환경에서 영문인지 아닌지 체크 하는 방법

최익필 2009. 6. 21. 21:35

UTF-16과 USC2 환경에서 영문이라고 인정 값들은 0x0000 ~ 0x0080 까지 이다.  여기에 리틀엔디안 환경이라면, 상위 바이트와 하위 바이트가 뒤 바뀌므로, 다음과 같다. 0x0000 ~ 0x8000 그러므로 이것을 기준으로 판단 코드를 작성하면 다음과 같다.

굳이 char_type 이라는 클래스 템플릿을 넣은 이유는 wchar_t 가 2바이트 환경인 곳과 4바이트 환경인 곳 모두에서 위의 코드를 사용 하기 위해서이다.(g++ 이 4바이트 환경이다.)

여담,
설마 1바이트 이거나 3바이트 환경은 없겠지..? ...