C#判定BIG5字碼的方式

繼上一篇 如何在ASP內判定BIG5碼中文字 之後, 再來整理一下在 ASP.NET C# 中判定 BIG5 碼的方式, 其實方式一樣很單純, 不過不需要利用到轉碼的 code page, 只需要利用 System.Text.Encoding 即可順利判讀, 程式碼如下:

Boolean IsBig5(string strOne)
{
    Boolean bIsBig5 = false;
    byte[] ByteArrayBig5 = System.Text.Encoding.GetEncoding("big5").GetBytes(strOne);
    if (ByteArrayBig5.Length == 2)
    {

        //check A440~C67E 常用字, C940~F9D5 次常用字 

        //42048~50814, 51520~63957            
         
        int iCode = ByteArrayBig5[0] * 256 + ByteArrayBig5[1];
        if ((iCode >= 42048 && iCode <= 50814) || (iCode >= 51520 && iCode <= 63957))
        {
            // chinese char big5 
            bIsBig5 = true;
        }
    }
    return bIsBig5;      
}

利用了 Encoding 的 GetBytes 方式, 取出在 strOne 中的一個字元, 並判定是否為 2個 byte 後, 一樣利用了原來的判定方式, 若落在對應的區間內, 就可以判定為 BIG5 字元集內的字了!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *