캐릭터와인코딩 › 백만불짜리습관 › AndroidSDK › EqualsVerifier › 모바일웹과모바일앱 › encodeURL
url을 파라미터 토큰별로 끊어서 인코딩
String encodeURL(String url) { StringBuffer sb = new StringBuffer(); int firstQstIdx = url.indexOf("?"); String uri = url.substring(0, firstQstIdx); String qry = url.substring(firstQstIdx); sb.append(uri); if(qry.length()>0){ sb.append("?"); qry = qry.substring(1); } StringTokenizer st = new StringTokenizer(qry, "&"); while(st.hasMoreTokens()){ String token = st.nextToken(); int firstEqualIdx = token.indexOf("="); String name = token.substring(0, firstEqualIdx); try{ sb.append(java.net.URLEncoder.encode(name, "UTF-8")); String val = token.substring(firstEqualIdx); if(val.length()>0){ sb.append("="); sb.append(java.net.URLEncoder.encode(val.substring(1), "UTF-8")); } } catch(java.io.UnsupportedEncodingException uee){ uee.printStackTrace(); } if(st.hasMoreTokens()) sb.append("&"); } return sb.toString(); }