C# 实现和java的UrlCode的结果
/// <summary>
/// javaUrl编码
/// </summary>
/// <returns></returns>
public static string UrlEncodeJava(string str)
{
try
{
if (string.IsNullOrEmpty(str)) return str;
var sb = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
var v = str[i].ToString();
if (!isText(v))
{
sb.Append(HttpUtility.UrlEncode(v).ToUpper());
}
else
{
sb.Append(v);
}
}
return sb.ToString();
}
catch (Exception)
{
return HttpUtility.UrlEncode(str);
}
}
static bool isText(string argValue)
{
try
{
return Regex.IsMatch(argValue, "[A-Z]") || Regex.IsMatch(argValue, "[0-9]") ||
Regex.IsMatch(argValue, "[a-z]");
}
catch (Exception)
{
return false;
}
}