2013년 12월 19일 목요일

C++ 한글 체크

할글은 2byte가 한글자를 이루며 각 byte의 최상위 bit가 1이다.

때문에 다음과 같이 한글여부를 확인 할 수 있다.

  1. const char* text = "한국";
  2.  
  3. (text[0] & 0x80) == 1 // 한글
  4. (text[0] & 0x80) != 1 // 한글아님



예:
  1. bool isHangul(const char *text)
  2. {
  3. bool hangul = true;
  4. for (int i = 0; i < strlen(text); i++)
  5. {
  6. if ((text[i] & 0x80) != 0x80)
  7. {
  8. hangul = false;
  9. }
  10. }
  11. return hangul;
  12. }

댓글 없음:

댓글 쓰기