Rumah > Artikel > hujung hadapan web > js的UniCode转码问题 (代码)
本篇文章给大家带来的内容是关于js的UniCode转码问题 (代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
<code class="language-javascript"><script type="text/javascript"><br/> var GB2312UnicodeConverter = {<br/> ToUnicode: function (str) {<br/> return escape(str).toLocaleLowerCase().replace(/%u/gi, '\\u');<br/> }<br/> , ToGB2312: function (str) {<br/> return unescape(str.replace(/\\u/gi, '%u'));<br/> }<br/> };<br/><br/> var str = '上海', unicode;<br/> document.write(str + '<br/>');<br/> unicode = GB2312UnicodeConverter.ToUnicode(str);<br/> document.write('汉字转换为Unicode代码:' + unicode + '<br/><br/>');<br/> document.write('Unicode代码转换为汉字:' + GB2312UnicodeConverter.ToGB2312(unicode));<br/> </script><br/></code>
<code class="language-csharp">/// <summary><br/> /// 汉字转换为Unicode编码<br/> /// </summary><br/> /// <param name="str">要编码的汉字字符串</param><br/> /// <returns>Unicode编码的的字符串</returns><br/> public static string ToUnicode(string str)<br/> {<br/> byte[] bts = Encoding.Unicode.GetBytes(str);<br/> string r = "";<br/> 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');<br/> return r;<br/> }<br/> /// <summary><br/> /// 将Unicode编码转换为汉字字符串<br/> /// </summary><br/> /// <param name="str">Unicode编码字符串</param><br/> /// <returns>汉字字符串</returns><br/> public static string ToGB2312(string str)<br/> {<br/> string r = "";<br/> MatchCollection mc = Regex.Matches(str, @"\\u([\w]{2})([\w]{2})", RegexOptions.Compiled | RegexOptions.IgnoreCase);<br/> byte[] bts = new byte[2];<br/> foreach (Match m in mc)<br/> {<br/> bts[0] = (byte)int.Parse(m.Groups[2].Value, NumberStyles.HexNumber);<br/> bts[1] = (byte)int.Parse(m.Groups[1].Value, NumberStyles.HexNumber);<br/> r += Encoding.Unicode.GetString(bts);<br/> }<br/> return r;<br/> }<br/></code>
相关推荐:
js中正则表达式的代码实例Atas ialah kandungan terperinci js的UniCode转码问题 (代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!