[Java] 문자열 인코딩/디코딩 하기
- Language/Java
- 2020. 11. 17.
일괄된 문자 타입으로 작업을 하고 싶지만 데이터가 중구난방으로 들어올 경우, 현재 프로젝트 기준으로 통일을 해서 작업을 해야 한다. 현재는 물론 utf-8로 대다수의 프로젝트가 통일되어 있지만 불과 10년전만하더라도 euc-kr로 된 프로젝트들도 많았고, 반대로 utf-8을 euc-kr로 디코딩해야 하는 상황도 있었다.
인코딩(Encode) 하기
URLEncoder.encode(문자, 변환타입);
인코딩을 할때는 URLEncoder를 사용하고 첫번째 파라미터는 변환해야 할 문자 두번째 파라미터는 변환해야 할 타입을 지정한다.
디코딩(Decode) 하기
URLDecoder.decode(문자, 변환타입);
디코딩을 할때는 URLDecoder를 사용하고 URLEncoder와 마찬가지로 첫번째 파라미터는 변환해야 할 문자 두번째 파라미터는 변환해야 할 타입을 지정한다.
첨부 라이브러리(Import Library)
import java.net.URLDecoder;
import java.net.URLEncoder;
예제
package com.tistory.needneo;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
public class Main {
public static void main(String[] args) throws UnsupportedEncodingException {
String val = "테스트문자열";
String encodeVal = "";
String decodeVal = "";
encodeVal = URLEncoder.encode(val, "utf-8");
decodeVal = URLDecoder.decode(encodeVal, "utf-8");
System.out.println("인코딩=>" + encodeVal);
System.out.println("디코딩=>" + decodeVal);
}
}
인코딩=>%ED%85%8C%EC%8A%A4%ED%8A%B8%EB%AC%B8%EC%9E%90%EC%97%B4
디코딩=>테스트문자열
보통 API단계에서 전송을 할 때 UTF-8을 쓰기 때문에 encode만 위주로 사용하게 된다.
반응형
'Language > Java' 카테고리의 다른 글
[Java] 자바로 로또 번호 생성하기 (0) | 2020.11.26 |
---|---|
[Java] 자바 날짜 포맷 변경법(SimpleDateFormat) (0) | 2020.11.26 |
[Java] Yaml, Yml 사용하기 (0) | 2020.11.16 |
[Java] Switch문 사용하기 (0) | 2020.11.16 |
[Java] 파일 한글자씩 읽기(FileReader), 쓰기(FileWriter) (0) | 2020.08.10 |