JAVA
Base64 한글 인코딩(한글깨짐)
질주하는구
2021. 11. 22. 11:08
Base64로 데이터를 주고 받아 한글이 깨지는 경우가 있어 관련한 내용을 정리 합니다.
String temp = "테스트";
byte[] tempBytes = temp.getBytes("UTF-8"); //getBytes시 인코딩 지정
//인코딩
Encoder encoder = Base64.getEncoder();
byte[] encodByte = encoder.encode(tempBytes);
System.out.println(new String(encodByte));
String encodString = encoder.encodeToString(tempBytes);
System.out.println(encodString);
//디코딩
Decoder decoder = Base64.getDecoder();
byte[] decodByte1 = decoder.decode(encodByte);
byte[] decodByte2 = decoder.decode(encodString);
String decodString = new String(decodByte1, "EUC-KR");//String 생성시 인코딩 지정
System.out.println(decodString);
System.out.println(new String(decodByte2, "UTF-8"));//String 생성시 인코딩 지정
인코딩 디코딩 작업 시 charsetName이 다른 경우 아래와 같은 실행 결과가 출력 됩니다.
7YWM7Iqk7Yq4
7YWM7Iqk7Yq4
���ㅽ��
테스트
반응형