[C#]根據內碼取得系統 BIG5 中文字

摘要:[C#]根據內碼取得系統 BIG5 中文字

最近一個案子碰到這樣需求 , 給一個字的內碼值 , 要由網頁輸出該內碼值所代表的字 , 

查了好幾篇文章 , 大部分都由字去反推內碼值 , 然後再做下一步需要做的處理 , 小弟不

才 , 想破了腦袋也沒想到什麼法子可以用。

 

以下舉個例子 , 給各位參考

例如 : A7DA 這值在系統內 BIG5 中文字集內是代表了什麼字

demo 程式如下 :

    protected void Page_Load(object sender, EventArgs e)
    {
        string big5Code = "A7DA";
        byte[] codeBytes = getCurrentTrueType(big5Code);
        //使用 BIG5 編碼
        string output = System.Text.Encoding.GetEncoding("BIG5").GetString(codeBytes);
        Response.Write("A7DA 的中文字為 :" + output);
    }
    /// 
    /// 將內碼值轉成 byte 陣列
    /// 
    /// 
內碼值 , 如 :A7DA
    /// 回傳 byte 陣列
    private byte[] getCurrentTrueType(string big5Code)
    {
        byte[] codeBytes = new byte[2];
        //由於中文字是由 2 個 byte 組成 , 將 A7DA 切成兩組
        //再由 16 進位轉換成 10 進位
        codeBytes[0] = (byte)Convert.ToInt32(big5Code.Substring(0, 2), 16);
        codeBytes[1] = (byte)Convert.ToInt32(big5Code.Substring(2, 2), 16);
        return codeBytes;
    }

這樣可以直接得到 A7DA 這個內碼值的中文字是 " 我 " 

參考來源 : http://social.msdn.microsoft.com/Forums/zh-TW/236/thread/983f332b-b26b-48e4-a757-c324bc1c456a

P.S 感謝阿尼前輩的指點.....(謎 : 不是小歐前輩

===================

大家好  , 我叫芋宅宅

我很菜 , 請各位前輩指教