程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> JS和C#實現UniCode編碼解碼

JS和C#實現UniCode編碼解碼

編輯:C#基礎知識
<script type="text/javascript">
        var GB2312UnicodeConverter = {
            ToUnicode: function (str) {
                return escape(str).toLocaleLowerCase().replace(/%u/gi, '\\u');
            }
            , ToGB2312: function (str) {
                return unescape(str.replace(/\\u/gi, '%u'));
            }
        };

        var str = '上海', unicode;
        document.write(str + '<br/>');
        unicode = GB2312UnicodeConverter.ToUnicode(str);
        document.write('漢字轉換為Unicode代碼:' + unicode + '<br/><br/>');
        document.write('Unicode代碼轉換為漢字:' + GB2312UnicodeConverter.ToGB2312(unicode));
    </script>

  

/// <summary>
        /// 漢字轉換為Unicode編碼
        /// </summary>
        /// <param name="str">要編碼的漢字字符串</param>
        /// <returns>Unicode編碼的的字符串</returns>
        public static string ToUnicode(string str)
        {
            byte[] bts = Encoding.Unicode.GetBytes(str);
            string r = "";
            for (int i = 0; i < bts.Length; i += 2) r += "\\u" + bts[i + 1].ToString("x").PadLeft(2, '0') + bts[i].ToString("x").PadLeft(2, '0');
            return r;
        }
        /// <summary>
        /// 將Unicode編碼轉換為漢字字符串
        /// </summary>
        /// <param name="str">Unicode編碼字符串</param>
        /// <returns>漢字字符串</returns>
        public static string ToGB2312(string str)
        {
            string r = "";
            MatchCollection mc = Regex.Matches(str, @"\\u([\w]{2})([\w]{2})", RegexOptions.Compiled | RegexOptions.IgnoreCase);
            byte[] bts = new byte[2];
            foreach (Match m in mc)
            {
                bts[0] = (byte)int.Parse(m.Groups[2].Value, NumberStyles.HexNumber);
                bts[1] = (byte)int.Parse(m.Groups[1].Value, NumberStyles.HexNumber);
                r += Encoding.Unicode.GetString(bts);
            }
            return r;
        }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved