Ruby может закодировать его без скобок, если хотите.Вы просто должны спросить красиво.В этом случае опция указывает, что все символы, не относящиеся к слову, (код регулярного выражения) должны быть закодированы:
URI.encode("Central Time (US & Canada)", /\W/)
# => "Central%20Time%20%28US%20%26%20Canada%29"
Я не уверен, почему версия .Net кодирует пробел в +
, а затемURI кодирует это, поскольку это кажется сломанным:
URI.decode('Central%2BTime%2B%28US%2B%2526%2BCanada%29')
# => "Central+Time+(US+%26+Canada)"