在之前的使用习惯中,我们需要对URL Encode的时候通常只是调用系统的静态方法进行Encode下就可以了。今天大强问了个问题把我楞住了:你的Encode是使用什么编码?
所以小猪有了下面的测试代码:
class Program { static void Main(string[] args) { string a = "Glory is fleeting, but obscurity is forever"; string b = UrlEncode(a); Console.WriteLine(b); } public static string UrlEncode(string str) { StringBuilder sb = new StringBuilder(); byte[] byStr = System.Text.Encoding.Unicode.GetBytes(str); //默认是System.Text.Encoding.Default.GetBytes(str) for (int i = 0; i < byStr.Length; i++) { sb.Append(@"%" + Convert.ToString(byStr[i], 16)); } return (sb.ToString()); } }