unicode碼難字處理(轉換)

摘要:unicode碼難字處理(轉換)

就是把 堃 變成字,這通常是在big5環境下,或是介接時對方環境是big5時會遇到的。因為big5環境下,沒有這些字碼,為了保留這個字,通常是轉成unicode碼存起來。

 


    public static class RareWord
    {
        //把unicode碼 轉換為字 ex: 堃-->堃 
        public static string ToUtf8Word(string unicodeint)
        {
            unicodeint = unicodeint.Replace("&#", "").Replace(";", "");
            long int64 = Convert.ToInt64(unicodeint); 
            return Encoding.Unicode.GetString(BitConverter.GetBytes(int64)).Replace("\0", "");
        }

        //為了讓utf8的難字能夠留存在big5世界,把字轉換成unicode 10進位碼
        //堃 -->堃
        public static string ToUnicodeWord(string utf8str)
        {
            byte[] bytes = Encoding.Unicode.GetBytes(utf8str); 
            string strint64 =  bytes[1].ToString("X2") + bytes[0].ToString("X2");
            long int64 = Convert.ToInt64(strint64, 16);
            return "&#" + int64.ToString() + ";";
        }

    }