import java.util.BitSet; public class URLEncoder { // See http://www.ietf.org/rfc/rfc2396.txt private static final String list = " <>#%&\\/?{}[]|^`\""; private static BitSet escList = new BitSet(256); // Return a string with rfc2396 URL encoding done on it public static String EncodeURLArgs( String s ) { if (s == null || s.equals("")) { return s; } else { StringBuffer b = new StringBuffer(); int len = s.length(); for (int z = 0; z < len; z++) { char c = s.charAt(z); if (escList.get(c)) { b.append("%"+Integer.toHexString((int)c).toUpperCase()); } else { b.append(c); } } return b.toString(); } } static { escList = new BitSet(256); int len = list.length(); for (int z = 0; z < len; z++) { escList.set(list.charAt(z)); } } } |