[참고] encode된 url을 decode하기


[ Follow Ups ] [ Post Followup ] [ 자바 묻고 답하기 ]

Posted by 박진우 on June 18, 1997 at 12:50:21:

In Reply to: [질문] urlencoded String에서 한글 문자열 얻기 posted by 강신동 on June 13, 1997 at 16:00:51:

안녕하세요.
박진우 입니다.


servlet은 많이 공부 하질 않아서
아직 servlet package는 보질 못해서
답이 될지 모르겠지만 대강 encode에 대해 적어 보겠읍니다.


java 기본 package에는 url encode하는 URLEncoder에 encode()는
있지만 url을 decode하는 method가 없어서 URLDecoder class는
직접 만들어 사용해야 하거든요.


대강 아래와 같이 URLDecoder를 만들어 봤는데 예제 형식으로
만들었읍니다.


encode된 String을 ASCII형태로 다시 decode시켜 String으로
return 시키는 예제입니다.


한글도 잘 되네요...



import java.io.*;
import java.net.*;


class HanTest
{ public static void main(String[] args)
{ String u1 = URLEncoder.encode("오 그대는 아름다운 여인");
System.out.println(u1);
String u2 = URLDecoder.decode(u1);
System.out.println(u2);
}
}


class URLDecoder
{ private URLDecoder()
{}
public static String decode(String s)
{ ByteArrayOutputStream out = new ByteArrayOutputStream(s.length());
for (int i = 0; i < s.length(); i++)
{ int c = (int) s.charAt(i);
if ( c == '+') out.write(' ');
else if (c == '%')
{ int c1 = Character.digit(s.charAt(++i), 16);
int c2 = Character.digit(s.charAt(++i), 16);
out.write((char) (c1 * 16 + c2));
}
else out.write(c);
}
return out.toString();
}
}




자세한 내용은
telnet bit.bbs.co.kr 자바 동호회에 글을 올려 놨으니까요.
시간이 있으시면 이곳에 와서 한번 보시구요.
---> 참고 이곳은 가입과 사용이 공짜임.
---> 전화접속은 분당 10원. hitel-p를 이용하므로 기본이용료
가 붙는다고 하네요.



Follow Ups:



이어서 글올리기(답하기)

이름:
E-Mail:
제목:
내용:
관련 URL(선택):
URL 제목(선택):
관련 이미지 URL:


[ Follow Ups ] [ Post Followup ] [ 자바 묻고 답하기 ]