Asp.Net \uxxx Unicode編碼解碼


/// <summary>
        /// Unicode編碼(漢字轉換為\uxxx)
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string EnUnicode(string str)
        {
            StringBuilder strResult = new StringBuilder();
            if (!string.IsNullOrEmpty(str))
            {
                for (int i = 0; i < str.Length; i++)
                {
                    strResult.Append("\\u");
                    strResult.Append(((int)str[i]).ToString("x"));
                }
            }
            return strResult.ToString();
        }

        /// <summary>
        /// Unicode解碼(\uxxxx轉換為漢字)
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string DeUnicode(string str)
        {
            //最直接的方法Regex.Unescape(str);
            Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})");
            return reg.Replace(str, delegate(Match m) { return ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString(); });
        }

 

/// <summary>
    /// 漢字轉換為Unicode編碼(&#27979;&#35797;)
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public static string StringToUnicode(string str)
    {
        string result = "";
        for (int i = 0; i < str.Length; i++)
        {
            result += "&#" + (int)(str.Substring(i, 1).ToCharArray()[0]) + ";";
        }
        return result;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM