인코딩, 디코딩을 볼 수 있는 사이트
https://r12a.github.io/app-encodings/
: 일반 문자열을 웹에서 통용되는 'x-www-form-urlencoded' 형식으로 변환하는 역할을 담당
변환규칙
- 아스키문자(a~z, A~Z, 1~9), '.', '-', '*', '_' : 그대로 전달
- 공백문자(' ') : '+' 기호로 변환됨
- 기타문자 : '%xy' 와 같이 세 개의 문자로 변환되며, 이 때 xy는 해당 문자의 ASCII코드를 16진수화한 결과를 두자리의 대문자로 나타낸 것이다.
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public class URLEncodeTest {
public static void main(String[] args) {
String url = null;
try {
url = URLEncoder.encode("한글 인코딩 이라네~", "UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
System.out.println(url);
}
}
// 결과
// %ED%95%9C%EA%B8%80+%EC%9D%B8%EC%BD%94%EB%94%A9+%EC%9D%B4%EB%9D%BC%EB%84%A4%7E
: URLEncoder로 인코딩된 결과를 디코딩하는 클래스
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
public class URLDecodeTest {
public static void main(String[] args) {
String url = null;
try {
url = URLDecoder.decode("%ED%95%9C%EA%B8%80+%EC%9D%B8%EC%BD%94%EB%94%A9+%EC%9D%B4%EB%9D%BC%EB%84%A4%7E", "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.println(url);
}
}
// 결과
// 한글 인코딩 이라네~
https://codingpractices.tistory.com/entry/%EC%9D%B8%EC%BD%94%EB%94%A9-vs-%EB%94%94%EC%BD%94%EB%94%A9-%EC%A0%95%ED%99%95%ED%95%98%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0
https://dololak.tistory.com/19