zoukankan      html  css  js  c++  java
  • csharp: string Encoding

      /// <summary>
            /// 中文转unicode
            /// </summary>
            /// <param name="str"></param>
            /// <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>
            /// <param name="str"></param>
            /// <returns></returns>
            public static string bgktounicode(string str)
            {
                string outstr = "";
                //汉字转为Unicode编码:
                string hz = str;
                byte[] b = Encoding.Unicode.GetBytes(hz);
                string o = "";
                foreach (var x in b)
                {
                    o += string.Format("{0:X2}", x) + " ";
                }
                outstr = o;
                return outstr;
            }
    
            /// <summary>
            ///  unicode转中文
            /// </summary>
            /// <param name="str"></param>
            /// <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>
            /// <param name="str"></param>
            /// <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>
            /// <param name="str"></param>
            /// <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;
            }
    
            /// <summary>
            /// 骞垮憡涓戦椈
            /// </summary>
            /// <param name="utf8String"></param>
            /// <returns></returns>
            public static string unicodeTogbk(string utf8String)
            {
                string defaultString = "";
                Encoding utf8 = Encoding.UTF8;
                Encoding defaultCode = Encoding.Default;
                // Convert the string into a byte[].
                byte[] utf8Bytes = Encoding.Default.GetBytes(utf8String);
                // Perform the conversion from one encoding to the other.
                byte[] defaultBytes = Encoding.Convert(utf8, defaultCode, utf8Bytes);
                // Convert the new byte[] into a char[] and then into a string.
                // This is a slightly different approach to converting to illustrate
                // the use of GetCharCount/GetChars.
                char[] defaultChars = new char[defaultCode.GetCharCount(defaultBytes, 0, defaultBytes.Length)];
                defaultCode.GetChars(defaultBytes, 0, defaultBytes.Length, defaultChars, 0);
                defaultString = new string(defaultChars);
                return defaultString;
            }
            /// <summary>
            /// 骞垮憡涓戦椈
            /// </summary>
            /// <param name="utf8String"></param>
            /// <returns></returns>
            public static string unicodeTogbkb(string utf8String)
            {
                string strBuffer = "";
                byte[] buffer1 = Encoding.Default.GetBytes(utf8String);
                byte[] buffer2 = Encoding.Convert(Encoding.UTF8, Encoding.Default, buffer1, 0, buffer1.Length);
                strBuffer = Encoding.Default.GetString(buffer2, 0, buffer2.Length);
                return strBuffer;
            }
    
  • 相关阅读:
    实验楼之Linux快捷、用户及文件权限、文件查看
    《生物信息学》——李霞;;生信概念
    MySQL 之 导出导入数据
    MySQL 之 扩展例子
    MySQL之创、增、删、改、查
    R 中数据导入
    神经网络,25个术语
    Python之文件输入输出,
    爬虫之BeautifulSoup, CSS
    Linux软连接和硬链接
  • 原文地址:https://www.cnblogs.com/geovindu/p/4266018.html
Copyright © 2011-2022 走看看