zoukankan      html  css  js  c++  java
  • c# unicode 编码 中文转换 已测试(转)

        中文传参时因为编码不同经常凌乱风中,故传前编成unicode码来过度是一个不错的解决方法

            /// <summary>

            /// 中文转unicode
            /// </summary>
            /// <returns></returns>
            public static string unicode_0(string str)
            {
                string outStr = "";
                if (!string.IsNullOrEmpty(str))
                {
                    for (int i = 0; i < str.Length; i++)
                    {
                        outStr += "/u" + ((int)str[i]).ToString("x");
                    }
                }
                return outStr;
            }
            /// <summary>
            /// unicode转中文
            /// </summary>
            /// <returns></returns>
            public static string unicode_1(string str)
            {
                string outStr = "";  
                if (!string.IsNullOrEmpty(str))  
                {  
                    string[] strlist = str.Replace("/","").Split('u');  
                    try  
                    {  
                        for (int i = 1; i < strlist.Length; i++)  
                        {  
                            //将unicode字符转为10进制整数,然后转为char中文字符  
                            outStr += (char)int.Parse(strlist[i], System.Globalization.NumberStyles.HexNumber);  
                        }  
                    }  
                    catch (FormatException ex)  
                    {  
                        outStr = ex.Message;  
                    }  
                }
                return outStr;

            }

            /// <summary>
            /// unicode转中文(符合js规则的)
            /// </summary>
            /// <returns></returns>
            public static string unicode_js_1(string str)
            {
                string outStr = "";
                Regex reg = new Regex(@"(?i)\u([0-9a-f]{4})");
                outStr = reg.Replace(str, delegate(Match m1)
                {
                    return ((char)Convert.ToInt32(m1.Groups[1].Value, 16)).ToString();
                });
                return outStr;
            }
            /// <summary>
            /// 中文转unicode(符合js规则的)
            /// </summary>
            /// <returns></returns>
            public static string unicode_js_0(string str)
            {
                string outStr = "";
                string a = "";
                if (!string.IsNullOrEmpty(str))
                {
                    for (int i = 0; i < str.Length; i++)
                    {
                        if (Regex.IsMatch(str[i].ToString(), @"[u4e00-u9fa5]")) { outStr += "\u" + ((int)str[i]).ToString("x"); }
                        else { outStr += str[i]; }
                    }
                }
                return outStr;
            } 

    转自:http://blog.csdn.net/lbx541575387/article/details/6710815

  • 相关阅读:
    总结Spring Set注入方式及对property标签的理解
    spring基于Annotation装配Bean时在bean.xml中添加<context:component-scan>标签报错
    java web(struts2)+python+mysql 的简单实践
    罗辑思维--怎样成为一个高手
    教练助手
    小组作业(第五组)
    个人开发总结
    第五组小组作业
    个人作业
    小组总结
  • 原文地址:https://www.cnblogs.com/lcyuhe/p/4810156.html
Copyright © 2011-2022 走看看