Tri*_*ick 47 java utf-8 url-encoding
我怎么能检查字符串是否已被编码?
例如,如果我编码TEST==
,我得到TEST%3D%3D
.如果我再次编码最后一个字符串,我得到TEST%253D%253D
,如果它已经编码,我必须知道它...
我已经保存了编码参数,我需要搜索它们.我不知道输入参数,它们是什么 - 编码与否,所以我必须知道在搜索之前是否必须对它们进行编码或解码.
SF.*_*SF. 41
解码,与原始相比.如果它确实不同,则原始编码.如果没有差异,则不对原始编码进行编码.但它仍然没有说明新解码的版本是否仍未编码.递归的好任务.
我希望你不能在urlencode中写一个quine,否则这个算法就会卡住.
Rom*_*man 15
使用regexp检查您的字符串是否包含非法字符(即在URL编码的字符串中找不到的字符,如空格).
尝试解码网址。如果结果字符串比原始字符串短,那么原始 URL 已经被编码,否则您可以安全地对其进行编码(或者它没有被编码,或者甚至对 url 进行编码后保持原样,因此再次编码不会导致错误的 url )。下面是示例伪(受 ruby 启发)代码:
# Returns encoded URL for any given URL after determining whether it is already encoded or not
def escape(url)
unescaped_url = URI.unescape(url)
if (unescaped_url.length < url.length)
return url
else
return URI.escape(url)
end
end
Run Code Online (Sandbox Code Playgroud)