【发布时间】:2010-07-22 14:58:12
【问题描述】:
在我的应用程序中,我需要通过 base64 对字符串进行编码,转义可能的特殊字符并将其放入 URL。
我执行以下操作:
string = "random_email@server.com"
enc = OpenSSL::Cipher::Cipher.new('DES-EDE3-CBC')
enc.encrypt('dummy_salt')
encoded = URI.escape(Base64.encode64(enc.update(string) << enc.final))
问题是,URI.escape 不会以某种方式转义 '/' 字符。如果编码字符串打算用作 URL 参数,这是完全不可接受的。
URI.escape 怎么会忽略转义 '/'?我应该使用任何其他.escape 然后一个,它来自URI?或者我什至应该使用其他编码方法(不这么认为)?
也欢迎对代码提出任何建议。
【问题讨论】:
标签: ruby-on-rails ruby escaping uri base64