home *** CD-ROM | disk | FTP | other *** search
- package java.net;
-
- import java.io.ByteArrayOutputStream;
- import java.util.BitSet;
-
- public class URLEncoder {
- static BitSet dontNeedEncoding = new BitSet(256);
-
- private URLEncoder() {
- }
-
- public static String encode(String s) {
- ByteArrayOutputStream out = new ByteArrayOutputStream(s.length());
-
- for(int i = 0; i < s.length(); ++i) {
- int c = s.charAt(i);
- if (dontNeedEncoding.get(c)) {
- if (c == 32) {
- c = 43;
- }
-
- out.write(c);
- } else {
- out.write(37);
- out.write(Character.forDigit(c >> 4, 16));
- out.write(Character.forDigit(c & 15, 16));
- }
- }
-
- return out.toString();
- }
-
- static {
- for(int i = 97; i <= 122; ++i) {
- dontNeedEncoding.set(i);
- }
-
- for(int var1 = 65; var1 <= 90; ++var1) {
- dontNeedEncoding.set(var1);
- }
-
- for(int var2 = 48; var2 <= 57; ++var2) {
- dontNeedEncoding.set(var2);
- }
-
- dontNeedEncoding.set(95);
- dontNeedEncoding.set(32);
- }
- }
-