我正在编写一个Java应用程序,该应用程序接受可能被编码或不被编码的URL参数值。我需要一个简单的方法来判断我是否需要对参数字符串进行编码。如何判断一个URL参数是否需要用Java编码
换句话说,我想要一个函数boolean needsEncoding(String param)
,如果我传入字符串“[email protected]”,将返回true;如果我传入“foo%40test.com”,则返回false。这个想法的问题是这是不明确的。我怎么知道后一个字符串中的“%”符号是否应该被编码?处理这个问题的一个方法是修改我的合同 - 要求客户端传递未编码的字符串,以便我知道我总是需要对它们进行编码。思考?
我投了你的答案。改变合同是有道理的 – anjanb 2008-10-08 17:21:00
总是最好不要猜测。 – Rontologist 2008-10-08 17:24:22
如果用户想设置foo%40test.com,则无法检测用户是否想要foo%40test.com或[email protected]。改变合同。 – Horcrux7 2008-10-08 20:53:40