public static void Main(string[] args)
var urlencoded = urlEncode("http://stackoverflow.com/text?a es b");
Console.WriteLine(urlencoded);
public static string urlEncode(string source)
var fixture = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".ToList();
return string.Join("", source.Select(c => fixture.Contains(c) ? c.ToString() : "%" + Convert.ToByte(c).ToString("x2"))).Replace("%20", "+");