我正在编写一个Java应用程序,它接受可能编码或不编码的URL参数值.我需要一种简单的方法来判断是否需要对参数字符串进行编码.
换句话说,我想要一个函数boolean needsEncoding(String param)
,如果我传入字符串"foo@test.com",它将返回true,如果我传入"foo%40test.com",则返回false.这个想法的问题是这是模棱两可的.我怎么知道后一个字符串中的"%"符号是否应该被编码?解决此问题的一种方法是修改我的合同 - 要求客户端传入未编码的字符串,以便我知道我总是需要对它们进行编码.思考?
我以为我会把它作为一个建议的答案,以便人们可以投票:
解决此问题的一种方法是修改我的合同 - 要求客户端传入未编码的字符串,以便我知道我总是需要对它们进行编码.