2013년 12월 19일 목요일

C++ 한글 체크

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

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

const char* text = "한국";

(text[0] & 0x80) == 1 // 한글
(text[0] & 0x80) != 1 // 한글아님



예:
bool isHangul(const char *text)
{
    bool hangul = true;
    
    for (int i = 0; i < strlen(text); i++)
    {
        if ((text[i] & 0x80) != 0x80)
        {
            hangul = false;
        }
    }
    return hangul;
}

댓글 없음:

댓글 쓰기