对UTF-8字符串解码

来源:互联网 发布:java快速开发平台框架 编辑:程序博客网 时间:2024/05/18 01:08
        /// <summary>        /// UTF-8解码(含%的)        /// </summary>        /// <param name="str">需要解码的字符串</param>        /// <returns></returns>        public static string URLDecode(string str)        {            //将str转为小写            string lowerUrl = str.ToLower();            //判断str中是否包含%,如果不包含%就不需要解码            if (lowerUrl.IndexOf('%') != -1)            {                //判断str中是否包含%E,如果不包含直接用GB2312解码                if (lowerUrl.IndexOf("%e") != -1)                {                    //以UTF-8对str进行解码                    string stringUrl = System.Web.HttpUtility.UrlDecode(str, Encoding.GetEncoding("UTF-8"));                    //判断解码后的字符串是否为UTF-8编码                    if (CheckIsUTF8(stringUrl))                        return stringUrl;                    else                        return System.Web.HttpUtility.UrlDecode(str, Encoding.GetEncoding("GB2312"));                }                return System.Web.HttpUtility.UrlDecode(str, Encoding.GetEncoding("GB2312"));            }            return str;        }

原创粉丝点击