URL 인코딩/디코딩
- 특수문자, 예약문자, 한글은 URL에 사용할 수 없음
- 아래 URL에 홍길동은 한글이기 때문에 깨질 수 있어, 홍길동의 값을 인코딩해준다
http://www.test.com/user?name=홍길동
URL인코딩
- String s : 인코딩할 url
- String enc : 인코딩 될 charset (ex. "UTF-8")
String encodeStr = URLEncoder.encode(String s, String enc)
URL디코딩
- String s : 디코딩할 url
- String enc : 디코딩될 charset (ex. "UTF-8")
String decodeStr = URLDecoder.decode(String s, String enc)
예시
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
try{
String encodeName = URLEncoder.encode("홍길동", "UTF-8")
// encodeName = "%ED%99%8D%EA%B8%B8%EB%8F%99"
String decodeName = URLDeoder.decode("%ED%99%8D%EA%B8%B8%EB%8F%99", "UTF-8")
// decodeName = "홍길동"
}catch(UnsupportedEncodingException e){
e.printStackTrace();
}
참고
URLEncoder.encode(String s)
- JDK 1.3까지는 잘 쓰이던 URL Encoder(String s)이나, JDK 1.4 이후 비추천(deprecated)
- JDK 1.4 이후 버전은 문자 인코딩 인수가 첨가된 encode(String s, String enc) 추천
- W3C에서 호환성을 위해 UTF-8 추천
- URL 인코딩/디코딩 사이트
URL 인코딩/디코딩 사이트
https://www.convertstring.com/ko/EncodeDecode/UrlEncode
'Programming > Back-End' 카테고리의 다른 글
[Java/자바] JWT 토큰 발급 및 JWT/JWK 검증 처리 방법 정리 (1) | 2023.09.01 |
---|---|
[SpringBoot] Embedded Tomcat의 catalina.jar (0) | 2023.09.01 |
[Java/자바] URLencode와 Base64url 차이점 (0) | 2023.08.30 |
[Java/자바] RSA 공개키(publicKey)/개인키(privateKey) 생성 및 파일 추출 (34) | 2023.08.25 |
[Spring] mybatis insert 쿼리 실행 후 pk 리턴값 받기 (35) | 2023.08.24 |