我用c编码了“中央时间(美国和加拿大)”。

timeZone =Server.UrlEncode ("Central Time (US & Canada)");

我想要和ruby有相同的编码字符串。
ruby urlencode==>Central%252BTime%252B%2528US%252B%252526%252BCanada%2529
.NET urlencode两次=>Central%252bTime%252b%28US%252b%252526%252bCanada%29
.NET urlencode==>Central%2BTime%2B%28US%2B%2526%2BCanada%29
如何捕获相同的编码字符串?
谢谢。

最佳答案

http://oauth.net/core/1.0/#encoding_parameters说-本质上,结果必须是Central%20Time%20%28US%20%26%20Canada%29。问题中没有一个示例与此匹配,所有示例都显示了多重编码的症状(第一个编码步骤是Central+Time+(US+%26+Canada))。停止调用server.urlencode-如果需要,编写一个在字符上迭代并正确遵循规范的自定义函数。对于c,你会使用for循环和stringbuilder——我不知道在ruby中有效的方法是什么。(看起来Tadman的答案在Ruby中给出了正确的结果,但是.NET函数[uri.escapedatastring是最接近的]不够灵活,无法指定如何处理括号,因此您必须自己编写答案。)

10-07 17:15