■ 한자 문자 여부 구하기 예제

----------------------------------------------------------------------------------------------------

using System;

 

Console.WriteLine(IsHanjaCharacter('가'));

Console.WriteLine(IsHanjaCharacter(''));

Console.WriteLine(IsHanjaCharacter('A'));

Console.WriteLine(IsHanjaCharacter('1'));

----------------------------------------------------------------------------------------------------

 

■ 한자 문자 여부 구하기

----------------------------------------------------------------------------------------------------

#region 한자 문자 여부 구하기 - IsHanjaCharacter(source)

 

/// <summary>

/// 한자 문자 여부 구하기

/// </summary>

/// <param name="source">소스 문자</param>

/// <returns>한자 문자 여부</returns>

public bool IsHanjaCharacter(char source)

{

    int code = (int)source;

 

    // CJK Unified Ideographs

    // Range : 4E00-9FCF

    if(code >= 12800 && code <= 19903)

    {

        return true;

    }

 

    // CJK Unified Ideographs Extension A

    // Range : 3400-4DBF

    if(code >= 19968 && code <= 40991)

    {

        return true;

    }

 

    // CJK Unified Ideographs Extension B

    // Range : 20000-2A6DF

    if(code >= 131072 && code <= 173791)

    {

        return true;

    }

 

    // CJK Compatibility Ideographs Supplement

    // Range : 2F800-2FA1F

    if(code >= 194560 && code <= 195103)

    {

        return true;

    }

 

    // CJK Compatibility Ideographs

    // Range F900-FAFF

    if(code >= 63744 && code <= 64255)

    {

        return true;

    }

 

    // CJK Radicals Supplement

    // Range : 2E80-2EFF

    if(code >= 11904 && code <= 12031)

    {

        return true;

    }

 

    // Kangxi Radicals

    // Range : 2F00-2FDF

    if(code >= 12032 && code <= 12255)

    {

        return true;

    }

 

    return false;

}

 

#endregion

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG