JS中的UniCode转码问题

简介: var GB2312UnicodeConverter = { ToUnicode: function (str) { return escape(str).
<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;
        }

  

 

目录
相关文章
|
JavaScript 前端开发 算法
JavaScript如何正确处理Unicode编码问题!
原文:JavaScript 如何正确处理 Unicode 编码问题! 作者:前端小智 Fundebug经授权转载,版权归原作者所有。 JavaScript 处理 Unicode 的方式至少可以说是令人惊讶的。
6594 0
|
JavaScript
JS Unicode转中文,中文转Unicode,ASCII转Unicode,Unicode转ASCII
在线转换工具https://oktools.net/unicode Unicode转中文 function decodeUnicode(str) { return unescape(str.
4852 0
|
JavaScript 前端开发
|
Web App开发 JavaScript 前端开发
|
JavaScript 前端开发 Java
每个 JavaScript 开发者都该懂的 Unicode
英文原文标题:what-every-javascript-developer-should-know-about-unicode (译者注:本文含有Unicode辅助平面的特殊字符,部分浏览器可能无法正确显示,但并不影响理解文章内容。
2330 0
|
编解码 JavaScript 前端开发
|
JSON JavaScript 前端开发
JavaScript中字符串与Unicode编码的互相转换
JavaScript中字符串与Unicode编码的互相转换 这段代码演示了JavaScript中字符串与Unicode编码的转换: // 为了控制台的演示方便, 变量没有添加 var 定义 // 实际编程中请避免 // 字符串 str = "中文"; // 获取字符 char0 = str.
788 0
|
JavaScript
js 16进制Unicode编码与中文相互转换
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt; &lt;HTML&gt; &lt;HEAD&gt; &lt;TITLE&gt; New Document &lt;/TITLE&gt; &lt;script language=javascript&gt; function utf8to16(
4073 0
|
JavaScript
小记 js unicode 编码解析
原文:小记 js unicode 编码解析  var str = "\\u6211\\u662Funicode\\u7F16\\u7801"; 关于这样的数据转换为中文问题,常用的两种方法。 1. eval 解析 str = eval("'" + str + "'"); // "我是unicode编码"  2.
730 0