惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Google DeepMind News
Google DeepMind News
Hugging Face - Blog
Hugging Face - Blog
D
Docker
F
Fortinet All Blogs
博客园 - 三生石上(FineUI控件)
Project Zero
Project Zero
Engineering at Meta
Engineering at Meta
J
Java Code Geeks
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Simon Willison's Weblog
Simon Willison's Weblog
S
Security Affairs
NISL@THU
NISL@THU
T
Tor Project blog
A
About on SuperTechFans
宝玉的分享
宝玉的分享
腾讯CDC
S
Schneier on Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
P
Privacy & Cybersecurity Law Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Stack Overflow Blog
Stack Overflow Blog
P
Privacy International News Feed
雷峰网
雷峰网
C
Cyber Attacks, Cyber Crime and Cyber Security
Vercel News
Vercel News
Cisco Talos Blog
Cisco Talos Blog
D
DataBreaches.Net
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Google Online Security Blog
Google Online Security Blog
Recorded Future
Recorded Future
L
LINUX DO - 热门话题
Microsoft Security Blog
Microsoft Security Blog
Latest news
Latest news
C
Check Point Blog
有赞技术团队
有赞技术团队
T
The Exploit Database - CXSecurity.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
云风的 BLOG
云风的 BLOG
SecWiki News
SecWiki News
Application and Cybersecurity Blog
Application and Cybersecurity Blog
爱范儿
爱范儿
月光博客
月光博客
V
Vulnerabilities – Threatpost
T
Threat Research - Cisco Blogs
P
Palo Alto Networks Blog
T
The Blog of Author Tim Ferriss
C
Cisco Blogs
Webroot Blog
Webroot Blog
S
Security @ Cisco Blogs

博客园 - 北极熊,我来了!

C#获取类以及类下的方法(用于Asp.Net MVC) 使用JavaScript判断用户是否为手机设备 手机端页面自适应解决方案 Asp 邮件发送代码 js 日期字符串转换成日期类型,判断星期几 浅析a标签的4个伪类 C#读取Rss功能函数 《小偷程序:自动获取百度天气预报》 Asp.NET使用HTML控件上传文件 《JS两级联动菜单学习全接触》 活动目录ADSI实现添加系统帐号问题!!! ADSI管理Windows2003系统帐号 中国频道空间使用Jmail发送邮件 《IP地址和数字之间转化的算法》 《单域名下整合动网、动易、OBlog程序》 JS读取XML数据 Asp.NET读取Excel数据 [XML系列]Flash读取XML数据 《省市联动功能菜单的实现》
《中文防止乱码的万能解决方案》
北极熊,我来了! · 2007-09-01 · via 博客园 - 北极熊,我来了!

    相信大家很多都会在JS下面要求输出一段中文的提示,很多时候由于页面的编码问题,经常会出现乱码的现象,每次不得不长时间在这个上面耗费超多的时间,这里我找到一种最好的解决方案,不知道是从那位博客园大侠的博客上面找到的,其实代码很简单,下面大家先来看看代码先:

using System;
using System.Collections.Generic;
///<summary>
    /// 将双字节字符转化成能更好的在网页和JS中使用的BigEndianUnicode
    /// </summary>
    public abstract class Class2
    {

        public static void Main()
        {
            string test = "参数错误,请重复商品收藏操作。";
            string entext = EncodingBigEndianUnicode(test);
            WL(test);
            WL(entext);
            WL(DecodingBigEndianUnicode(entext));
            RL();
        }
        public static string DecodingBigEndianUnicode(string encodedString)
        {
            System.Text.RegularExpressions.Regex regUnicode = new System.Text.RegularExpressions.Regex(@"\\u(?<1>[a-zA-Z0-9]{2})(?<2>[a-zA-Z0-9]{2})");
            System.Text.RegularExpressions.MatchCollection mc = regUnicode.Matches(encodedString);
            string s = string.Empty;
            foreach(System.Text.RegularExpressions.Match m in mc)
            {
                byte b1 = byte.Parse(m.Groups[1].Value,System.Globalization.NumberStyles.HexNumber);
                byte b2 = byte.Parse(m.Groups[2].Value,System.Globalization.NumberStyles.HexNumber);
                s += System.Text.Encoding.BigEndianUnicode.GetString(new byte[]{b1,b2});
            }
            return s;
        }
       
        public static string EncodingBigEndianUnicode(string text)
        {
            string s = string.Empty;
            for(int i = 0 ; i < text.Length ; i ++)
            {
                string s1 = text.Substring(i,1);
                byte[] bs = System.Text.Encoding.BigEndianUnicode.GetBytes(s1);
                s1 = @"\u";
                foreach(byte b in bs)
                {
                    string s2 = b.ToString("x");
                    if(s2.Length == 1)
                        s2 = "0" + s2;
                    s1 += s2;
                }
                s += s1;
            }
            return s;
        }
        #region Helper methods

        private static void WL(object text, params object[] args)
        {
            Console.WriteLine(text.ToString(), args);   
        }
   
        private static string RL()
        {
            return Console.ReadLine();   
        }
   
        private static void Break()
        {
            System.Diagnostics.Debugger.Break();
        }

        #endregion
    }

   上面是他的原文代码,如果谁知道作者的文章地址或者作者本人看到了文章请联系我,呵呵,本文版权并不归我所有的,哈!解决方案,其实只是对中文进行了一次Big5的编码,编码后的中文在Utf-8跟Gb2312下面都能正常的显示。