1 17 18 package com.finalist.jag.util; 19 20 26 27 import java.util.Collection ; 28 import java.util.ArrayList ; 29 import java.util.HashMap ; 30 import java.awt.Point ; 31 import java.io.*; 32 33 public class Tools { 34 35 private static HashMap decodeMap; 37 private static HashMap encodeMap; 38 39 40 static { 41 encodeMap = new HashMap (); 42 encodeMap.put("&", "&"); 43 encodeMap.put(" ", " "); 44 encodeMap.put("\"", """); 45 encodeMap.put("'", "'"); 46 encodeMap.put("<", "<"); 47 encodeMap.put(">", ">"); 48 encodeMap.put("©", "©"); 49 encodeMap.put("®", "®"); 50 encodeMap.put("´", "´"); 51 encodeMap.put("«", "«"); 52 encodeMap.put("»", "»"); 53 encodeMap.put("¡", "¡"); 54 encodeMap.put("¿", "¿"); 55 encodeMap.put("À", "À"); 56 encodeMap.put("à", "à"); 57 encodeMap.put("Á", "Á"); 58 encodeMap.put("á", "á"); 59 encodeMap.put("Â", "Â"); 60 encodeMap.put("â", "â"); 61 encodeMap.put("Ã", "Ã"); 62 encodeMap.put("ã", "ã"); 63 encodeMap.put("Ä", "Ä"); 64 encodeMap.put("ä", "ä"); 65 encodeMap.put("Å", "Å"); 66 encodeMap.put("å", "å"); 67 encodeMap.put("Æ", "Æ"); 68 encodeMap.put("æ", "æ"); 69 encodeMap.put("Ç", "Ç"); 70 encodeMap.put("ç", "ç"); 71 encodeMap.put("Ð", "Ð"); 72 encodeMap.put("ð", "ð"); 73 encodeMap.put("È", "È"); 74 encodeMap.put("è", "è"); 75 encodeMap.put("É", "É"); 76 encodeMap.put("é", "é"); 77 encodeMap.put("Ê", "Ê"); 78 encodeMap.put("ê", "ê"); 79 encodeMap.put("Ë", "Ë"); 80 encodeMap.put("ë", "ë"); 81 encodeMap.put("Ì", "Ì"); 82 encodeMap.put("ì", "ì"); 83 encodeMap.put("Í", "Í"); 84 encodeMap.put("í", "í"); 85 encodeMap.put("Î", "Î"); 86 encodeMap.put("î", "î"); 87 encodeMap.put("Ï", "Ï"); 88 encodeMap.put("ï", "ï"); 89 encodeMap.put("Ñ", "Ñ"); 90 encodeMap.put("ñ", "ñ"); 91 encodeMap.put("Ò", "Ò"); 92 encodeMap.put("ò", "ò"); 93 encodeMap.put("Ó", "Ó"); 94 encodeMap.put("ó", "ó"); 95 encodeMap.put("Ô", "Ô"); 96 encodeMap.put("ô", "ô"); 97 encodeMap.put("Õ", "Õ"); 98 encodeMap.put("õ", "õ"); 99 encodeMap.put("Ö", "Ö"); 100 encodeMap.put("ö", "ö"); 101 encodeMap.put("Ø", "Ø"); 102 encodeMap.put("ø", "ø"); 103 encodeMap.put("Ù", "Ù"); 104 encodeMap.put("ù", "ù"); 105 encodeMap.put("Ú", "Ú"); 106 encodeMap.put("ú", "ú"); 107 encodeMap.put("Û", "Û"); 108 encodeMap.put("û", "û"); 109 encodeMap.put("Ü", "Ü"); 110 encodeMap.put("ü", "ü"); 111 encodeMap.put("Ý", "Ý"); 112 encodeMap.put("ý", "ý"); 113 encodeMap.put("ÿ", "ÿ"); 114 encodeMap.put("Þ", "Þ"); 115 encodeMap.put("þ", "þ"); 116 encodeMap.put("ß", "ß"); 117 encodeMap.put("§", "§"); 118 encodeMap.put("¶", "¶"); 119 encodeMap.put("µ", "µ"); 120 encodeMap.put("¦", "¦"); 121 encodeMap.put("±", "±"); 122 encodeMap.put("·", "·"); 123 encodeMap.put("¨", "¨"); 124 encodeMap.put("¸", "¸"); 125 encodeMap.put("ª", "ª"); 126 encodeMap.put("º", "º"); 127 encodeMap.put("¬", "¬"); 128 encodeMap.put("", "­"); 129 encodeMap.put("¯", "¯"); 130 encodeMap.put("°", "°"); 131 encodeMap.put("¹", "¹"); 132 encodeMap.put("²", "²"); 133 encodeMap.put("³", "³"); 134 encodeMap.put("¼", "¼"); 135 encodeMap.put("½", "½"); 136 encodeMap.put("¾", "¾"); 137 encodeMap.put("×", "×"); 138 encodeMap.put("÷", "÷"); 139 encodeMap.put("¢", "¢"); 140 encodeMap.put("£", "£"); 141 encodeMap.put("¤", "¤"); 142 encodeMap.put("¥", "¥"); 143 java.util.Set keys = encodeMap.keySet(); 144 java.util.Iterator iterator = keys.iterator(); 145 decodeMap = new HashMap (); 146 while (iterator.hasNext()) { 147 String key = (String ) iterator.next(); 148 String value = (String ) encodeMap.get(key); 149 decodeMap.put(value, key); 150 } 151 } 152 153 154 161 public static String stripFrontBack(String src, String head, String tail) { 162 int h = src.indexOf(head); 163 int t = src.lastIndexOf(tail); 164 if (h == -1 || t == -1) return src; 165 return src.substring(h + 1, t); 166 } 167 168 169 173 public static String encode(String text) { 174 char c; 175 StringBuffer n = new StringBuffer (); 176 for (int i = 0; i < text.length(); i++) { 177 c = text.charAt(i); 178 String code = (String ) encodeMap.get("" + c); 179 if (code == null) 180 n.append(c); 181 else 182 n.append(code); 183 } 184 return new String (n); 185 } 186 187 188 192 public static String decode(String text) { 193 StringBuffer n = new StringBuffer (); 194 for (int i = 0; i < text.length(); i++) { 195 char c = text.charAt(i); 196 if (c == '&') { 197 StringBuffer code = new StringBuffer (); 198 int j = i; 199 for (; j < text.length(); j++) { 200 code.append(text.charAt(j)); 201 if (text.charAt(j) == ';') 202 break; 203 } 204 205 String ch = (String ) decodeMap.get(new String (code)); 206 if (ch != null) { 207 n.append(ch); 208 i = j; 209 } 210 } 211 else { 212 n.append(c); 213 } 214 } 215 return new String (n); 216 } 217 } 218 | Popular Tags |