我正在編寫一個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