牛骨文教育服务平台(让学习变的简单)
博文笔记

中文与16进制的unicode的转换

创建时间:2015-03-19 投稿人: 浏览次数:4171
        /// <summary>
        /// 将中文转化为16进制unicode字符
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string StringToUnicodeHex(string str){
            string outStr = "";
            if (!string.IsNullOrEmpty(str))
            {
                for (int i = 0; i < str.Length; i++)
                {
                    //将中文字符转为10进制整数,然后转为16进制unicode字符
                    outStr += "\u" + ((int)str[i]).ToString("x");
                }
            }
            return outStr;
        }

        /// <summary>
        /// 将16进制unicode字符转化为中文
        /// </summary>
        /// <param name="str">16进制unicode字符</param>
        /// <returns></returns>
        public static string UnicodeHexToString(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;
        }

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。