C# HttpUtility.UrlEncode 与 Java URLEncoder.encode的转换方法,李逵与李鬼
2018-02-05 15:41
1011 查看
两种语言编码结果不一致,部分内容小大写需要转换,
李鬼方法如下(只转换了普通内容,在涉及到空格等字符时还是会编码不一致)
//public static string UrlEncode(string str)
//{
// StringBuilder builder = new StringBuilder();
// foreach (char c in str)
// {
// if (HttpUtility.UrlEncode(c.ToString()).Length > 1)
// {
// builder.Append(HttpUtility.UrlEncode(c.ToString()).ToUpper());
// }
// else
// {
// builder.Append(c);
// }
// }
// return builder.ToString();
//}
private static string UrlEncode(string temp, Encoding encoding)
{
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < temp.Length; i++)
{
string t = temp[i].ToString();
string k = HttpUtility.UrlEncode(t, encoding);
if (t == k)
{
stringBuilder.Append(t);
}
else
{
stringBuilder.Append(k.ToUpper());
}
}
return stringBuilder.ToString();
}
李鬼方法如下(只转换了普通内容,在涉及到空格等字符时还是会编码不一致)
//public static string UrlEncode(string str)
//{
// StringBuilder builder = new StringBuilder();
// foreach (char c in str)
// {
// if (HttpUtility.UrlEncode(c.ToString()).Length > 1)
// {
// builder.Append(HttpUtility.UrlEncode(c.ToString()).ToUpper());
// }
// else
// {
// builder.Append(c);
// }
// }
// return builder.ToString();
//}
private static string UrlEncode(string temp, Encoding encoding)
{
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < temp.Length; i++)
{
string t = temp[i].ToString();
string k = HttpUtility.UrlEncode(t, encoding);
if (t == k)
{
stringBuilder.Append(t);
}
else
{
stringBuilder.Append(k.ToUpper());
}
}
return stringBuilder.ToString();
}
相关文章推荐
- C# HttpUtility.UrlEncode 与 JAVA URLEncoder.encode 区别
- C#里HttpUtility.UrlEncode和JS端转换的心得
- HttpUtility.UrlEncode 在 Encode 的时候, 将空格转换成加号('+'), 在 Decode 的时候将加号转为空格, 但是浏览器是不能理解加号为空格的, 所以如果文件名包含了空格, 在浏览器下载得到的文件, 空格就变成了加号
- javascript; JS版HtmlEncode方法,结果与C#中HttpUtility.HtmlEncode方法一样。
- javascript中文编码/解析与C#ASP.NET中文编码/解析 C#: Server.UrlEncode() HttpUtility.UrlEncode() javascript: escape() encodeURI() encod
- javascript; JS版HtmlEncode方法,结果与C#中HttpUtility.HtmlEncode方法一样。
- javascript中文编码/解析与C#ASP.NET中文编码/解析 C#: Server.UrlEncode() HttpUtility.UrlEncode() javascript: escape() encodeURI() encodeURICom
- C#实现HttpUtility.UrlEncode输出大写字母
- Java与C#开发上的一些差异与转换方法
- Java中系统时间与C#DateTime对象之间转换方法
- 中文乱码在java中URLEncoder.encode方法要调用两次解决
- 如何在C#中使用HttpServerUtility.MapPath()方法
- 为什么java.net.URLEncoder.encode方法要调用两次而不是一次呢?
- java.net.URLEncoder和java.net.URLDecoder的使用和js 中编码(encode)和解码(decode)方法
- Java与C#开发上的一些差异与转换方法
- 为什么java.net.URLEncoder.encode方法要调用两次而不是一次呢?
- c#asp.net url 传递中文参数要使用 System.Web.HttpUtility.UrlEncode 而不能使用Server.UrlEncode
- 关于 HttpUtility.UrlEncode 和 HttpUtility.HtmlEncode 的区别
- 为什么java.net.URLEncoder.encode方法要调用两次而不是一次呢?
- POST数据提交,关于System.Web.HttpUtility.HtmlEncode与System.Web.HttpUtility.UrlEncode的区别