Java에서 decode 문법 완벽 이해하기
1. Java에서 decode란?
decode()는 일반적으로 인코딩된 문자열(URL, Base64 등)을 원래 형태로 되돌리는 작업을 의미합니다. 즉, 사람이 읽기 쉬운 형태나 프로그램이 이해할 수 있는 형태로 복원하는 과정입니다.
2. 대표적인 decode 방식
- URLDecoder.decode(): URL 인코딩된 문자열(예: %20)을 복원
- Base64.getDecoder().decode(): Base64로 인코딩된 텍스트를 디코딩
3. URLDecoder 사용법 예시
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
public class DecodeExample {
public static void main(String[] args) {
String encodedUrl = "https%3A%2F%2Fexample.com%2Fhello%3Fname%3Dchatgpt";
String decodedUrl = URLDecoder.decode(encodedUrl, StandardCharsets.UTF_8);
System.out.println(decodedUrl);
}
}
출력 결과:
https://example.com/hello?name=chatgpt
4. Base64 decode 예시
import java.util.Base64;
public class Base64DecodeExample {
public static void main(String[] args) {
String encoded = "SGVsbG8gV29ybGQh"; // "Hello World!" in Base64
byte[] decodedBytes = Base64.getDecoder().decode(encoded);
String decoded = new String(decodedBytes);
System.out.println(decoded);
}
}
출력 결과: Hello World!
5. decode 시 주의할 점
- 문자 인코딩을 명시해야 깨짐 현상이 없음 (예: UTF-8)
- 예외 처리 필요:
UnsupportedEncodingException
또는 IllegalArgumentException
- Base64는 암호화가 아니라 단순 문자열 변환이라는 점 주의
6. decode와 encode의 차이
구분 |
encode() |
decode() |
역할 |
정보를 안전하게 변환 |
원래 형태로 복원 |
예시 |
공백 → %20 |
%20 → 공백 |
종류 |
URL, Base64, 암호화 등 |
decode는 이 인코딩을 풀기 위함 |
7. 마무리
decode()는 문자열 처리에서 매우 자주 사용되는 함수입니다. URL이나 토큰, 파일 전송 등 다양한 상황에서 활용되니 꼭 사용법을 익혀두세요! 특히 웹 개발, API 통신, 보안 처리 시 encode/decode 흐름을 잘 이해하는 것이 중요합니다.