是的,C# 的 UrlEncode
方法可以处理非 ASCII 字符。它使用 System.Web.HttpUtility.UrlEncode
类来对 URL 进行编码,这个方法会将所有非 ASCII 字符转换为百分号(%)后跟两位十六进制数。这样,非 ASCII 字符就可以被正确地编码为 URL 兼容的格式。
下面是一个简单的示例:
using System;
using System.Web.HttpUtility;
class Program
{
static void Main()
{
string url = "https://www.example.com/测试?query=你好世界";
string encodedUrl = HttpUtility.UrlEncode(url);
Console.WriteLine(encodedUrl);
}
}
输出结果:
https://www.example.com/%E6%B5%8B%E8%AF%95?query=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C
在这个示例中,UrlEncode
方法将非 ASCII 字符 “测试” 和 “你好世界” 转换为 URL 编码格式。