연구실/소스공유
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바이트 환경은 없겠지..? ...