如何确定字符串是否已经过URL编码?

2022-08-31 15:25:25

如何检查字符串是否已编码?

例如,如果我编码,我得到.如果我再次编码最后一个字符串,我会得到,我必须在这样做之前知道它是否已经编码...TEST==TEST%3D%3DTEST%253D%253D

我已经保存了编码参数,我需要搜索它们。我不知道输入参数,它们会是什么 - 编码与否,所以我必须知道我是否必须在搜索之前对它们进行编码或解码。


答案 1

解码,与原始版本进行比较。如果它确实不同,则对原始编码。如果它没有不同,则不编码原始。但它仍然没有提到新解码的版本是否仍然编码。递归的好任务。

我希望人们不能用urlencode写一个quine,否则这个算法会卡住。

异常:当字符串包含“+”字符时,url 解码器会将其替换为空格,即使该字符串未进行 url 编码


答案 2

使用正则表达式检查字符串是否包含非法字符(即在 URL 编码字符串中找不到的字符,如空格)。


推荐