根据需要自动进行URI解码

sha*_*evy 2 ruby uri decode ruby-on-rails

a = 'some string'
b = URI.encode(a) # returns 'some%20string'
c = URI.encode(b) # returns 'some%2520string'
Run Code Online (Sandbox Code Playgroud)

有没有办法在ruby中通过它我可以解码'c',这使我成为'一个'字符串而无需解码两次.我的观点是,我有一些编码两次的字符串和一些编码一次的字符串.我想要一种自动解码为普通字符串的方法,自动识别解码的时间.

Sah*_*har 10

我想实现这一目标的唯一方法是继续解码,直到它停止进行更改.我对这种东西的吸引力是do while循环:

decoded = encoded
begin
  decoded = URI.decode(decoded) 
end while(decoded != URI.decode(decoded)  )
Run Code Online (Sandbox Code Playgroud)

恕我直言,你在找什么不存在.

********编辑*************

stackoverflow上的另一个重复问题的答案也暗示相同 如何找出字符串是否已被URL编码?