我正在编写一个Java应用程序,接受URL参数值,这些值可能已经被编码或未编码。我需要一种简单的方法来判断是否需要对参数字符串进行编码。
换句话说,我想要一个函数
换句话说,我想要一个函数
boolean needsEncoding(String param)
,如果我传入字符串"foo@test.com",则返回true;如果我传入字符串"foo%40test.com",则返回false。但是这个想法存在歧义。我怎么知道后者字符串中的"%"符号是否应该被编码?一种处理方法是修改我的合同——要求客户端传递未编码的字符串,以便我知道我始终需要对它们进行编码。有什么想法吗?