c#中URL中文编码问题解决方案
在项目中做到了个下载的功能,从文件列表中发现有个中文命名的文件,但是去文件服务器中下载却下载不到。当时就意识到应该是编码问题,在网上寻解…… 现将收获共享与大家
在你的项目中添加一个新的方法:
protected string UrlEncode(string url)
{
byte[] bs = Encoding.GetEncoding("GB2312").GetBytes(url);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bs.Length; i++)
{
if (bs[i] < 128)
sb.Append((char)bs[i]);
else
{
sb.Append("%" + bs[i++].ToString("x").PadLeft(2, '0'));
sb.Append("%" + bs[i].ToString("x").PadLeft(2, '0'));
}
}
return sb.ToString();
}
在需要的URL上把URL传值与这个方法,之后重新赋予返回值……
ok……