UR(I|L)エ(スケープ|ンコード)

いつも使うときにどっち使うべきか調べてる気がするのでメモ。

CGI.escape(string)

cgi – Rubyリファレンスマニュアル

エンコード対象となるのは、英数字, ‘_’, ‘.’, ‘-‘ 以外の文字です。また、スペースは ‘+’ に変換されます。

URI.escape(str[, unsafe])

URI – Rubyリファレンスマニュアル

URI 文字列をエンコードした文字列を返します。unsafe には、URI として指定できない文字を正規表現か文字列で指定します(デフォルトは、 定数 URI::UNSAFE

で、どっち使っても一発では↓のルール通りにはならんのですなぁ。

Product Advertising API

URL encode the parameter name and values according to the following rules:

タイトルとURLをコピーしました