/// <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;
}
对UTF-8字符串解码
最新推荐文章于 2025-03-14 17:45:13 发布