阅读量:112
C# 中的 UrlEncode 方法遵循的编码规则是百分号编码(Percent-Encoding),也称为 URL 编码。这种编码主要用于将特殊字符转换为可传输的格式,以便在网络上传输。以下是百分号编码的一些基本规则:
- 空格字符(ASCII 32)被编码为加号(+)。
- 双引号(")被编码为双引号(")。
- 井号(#)被编码为井号(#)。
- 百分号(%)被编码为百分号(%)。
- 与号(&)被编码为与号(&)。
- 加号(+)被编码为加号(+)。
- 斜杠(/)被编码为斜杠(/)。
- 冒号(:)被编码为冒号(:)。
- 分号(;)被编码为分号(;)。
- 小于号(<)被编码为小于号(<)。
- 等于号(=)被编码为等于号(=)。
- 大于号(>)被编码为大于号(>)。
- 问号(?)被编码为问号(?)。
- “@” 符号被编码为 “@”(@)。
- “A-Z” 和 “a-z” 范围内的字母被编码为它们对应的 ASCII 值,前面加上
%符号。例如,大写字母 “A” 被编码为A,小写字母 “b” 被编码为b。 - “0-9” 范围内的数字被编码为它们对应的 ASCII 值,前面加上
%符号。例如,数字 “5” 被编码为5。 - 其他字符(如特殊符号、非 ASCII 字符等)也被编码为它们对应的 Unicode 值,前面加上
%符号。例如,空格字符被编码为。
在 C# 中,你可以使用 System.Net.WebUtility.UrlEncode 方法对字符串进行 URL 编码。例如:
string url = "https://www.example.com/测试?param=你好&anotherParam=世界";
string encodedUrl = System.Net.WebUtility.UrlEncode(url);
Console.WriteLine(encodedUrl);
输出结果将是:
https://www.example.com/测试?param=你好&anotherParam=世界