• 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

  • 相关阅读:
    Linux下MySQL/MariaDB Galera集群搭建过程
    Linux下Nginx+Tomcat负载均衡和动静分离配置要点
    快速部署tomcat项目的Shell脚本
    利用缓存实现APP端与服务器接口交互的Session控制
    基于xml的Spring多数据源配置和使用
    基于注解的Spring多数据源配置和使用
    MySQL 开启事件 使用定时器调用存储过程
    MyBatis绑定错误--BindingException:Invalid bound statement (not found)
    micropython1.16官方文档转PDF
    dokuwiki使用随笔
  • 原文地址:https://www.cnblogs.com/lcyuhe/p/4810156.html
Copyright © 2020-2023  润新知