在C#中實現URL編碼和解碼可以使用System.Web.HttpUtility類提供的UrlEncode和UrlDecode方法。這些方法可以幫助我們對URL進行編碼和解碼操作。以下是一個簡單的示例:
using System;
using System.Web;
class Program
{
static void Main()
{
string url = "https://www.example.com/?name=張三&age=20";
// URL編碼
string encodedUrl = HttpUtility.UrlEncode(url);
Console.WriteLine("編碼后的URL: " + encodedUrl);
// URL解碼
string decodedUrl = HttpUtility.UrlDecode(encodedUrl);
Console.WriteLine("解碼后的URL: " + decodedUrl);
}
}
需要注意的是,HttpUtility類位于System.Web命名空間中,所以在使用前需要引入該命名空間。另外,對于大量URL編碼和解碼操作,可以考慮使用StringBuilder來優化性能,例如:
using System;
using System.Text;
using System.Web;
class Program
{
static void Main()
{
string url = "https://www.example.com/?name=張三&age=20";
StringBuilder sb = new StringBuilder();
// URL編碼
string encodedUrl = HttpUtility.UrlEncode(url);
sb.Append(encodedUrl);
// URL解碼
string decodedUrl = HttpUtility.UrlDecode(encodedUrl);
sb.Append(decodedUrl);
Console.WriteLine(sb.ToString());
}
}
通過使用StringBuilder可以減少內存分配和性能開銷,提高URL編碼和解碼的效率。