【发布时间】:2010-08-26 05:01:25
【问题描述】:
这两个函数到底有什么区别。除了Uri.EscapeUriString 将空格编码为%20 和Server.UrlEncode 将它们编码为+ 符号之外,输出看起来相似。
最后一个问题应该优先使用
【问题讨论】:
-
请注意,在标题中,OP 询问了
Uri.EscapeDataString,而在问题中他询问了Uri.EscapeUriString,它们是等价的。 -
我发布了一个相关问题here 的详细答案,事后看来它可能更适合这个问题,尽管我不想重复发布,所以希望在这里链接到它就足够了。
-
根据stackoverflow.com/a/47877559/579763使用WebUtility.UrlEncode
-
我发现 HttpUtility.UrlEncode 不会将感叹号更改为 %21 但 ri.EscapeDataString 会!