当字符串来自URI解码时,如何在ruby中插入单个反斜杠

时间:2015-07-21 06:00:01

标签: ruby-on-rails ruby

我已将加密值编码为通过url传递值,如此

"%5Cx9DJ%5CxB2%3Dr%5Cx81%5CxDA%5Cx96T%5CxA1%7E%5CxE8d7%5Cx81%5Cx91"

但是当我解码值ruby时返回字符串

"\\x9DJ\\xB2=r\\x81\\xDA\\x96T\\xA1~\\xE8d7\\x81\\x91"

而不是

"\x9DJ\xB2=r\x81\xDA\x96T\xA1~\xE8d7\x81\x91"

如何将双反斜杠转换为单个反斜杠?

我已经尝试了gsub('\\'){'\'}但是它返回了相同的值

这是我的代码

 encrypted_value = URI.decode("%5Cx9DJ%5CxB2%3Dr%5Cx81%5CxDA%5Cx96T%5CxA1%7E%5CxE8d7%5Cx81%5Cx91")
@decrypted_id=Encryptor.decrypt(encrypted_value, :key => secret_key, :iv => iv, :salt => salt)

提前致谢

1 个答案:

答案 0 :(得分:0)

这是一个令人困惑的显示问题。你不必改变任何东西,价值应该适用于解密。但是,当您打印该值时,它将显示为\\,因为第一个\是保留的转义字符。