为什么URI.escape不能单引号?

Joh*_*hir 12 ruby url uri

为什么不URI.escape逃避单引号?

URI.escape("foo'bar\" baz")
=> "foo'bar%22%20baz"
Run Code Online (Sandbox Code Playgroud)

mol*_*olf 10

出于同样的原因,它不逃避?/或者:,等等.URI.escape()只转义根本不能在URL 使用的字符,而不是具有特殊含义的字符.

你在寻找的是CGI.escape():

require "cgi"
CGI.escape("foo'bar\" baz")
=> "foo%27bar%22+baz"
Run Code Online (Sandbox Code Playgroud)

  • 我不确定这有多大帮助.CGI转义与URI转义没有做同样的事情,并且它们不可互换. (2认同)