'base64 인코딩'에 해당되는 글 1건

  1. 2021.11.22 Base64 한글 인코딩(한글깨짐)

Base64로 데이터를 주고 받아 한글이 깨지는 경우가 있어 관련한 내용을 정리 합니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<code class="hljs csharp">
String temp             = <span class="hljs-string">"테스트"</span>;
<span class="hljs-built_in">byte</span>[] tempBytes     = temp.getBytes(<span class="hljs-string">"UTF-8"</span>); <span class="hljs-comment">//getBytes시 인코딩 지정</span>
 
<span class="hljs-comment">//인코딩</span>
Encoder encoder         = Base64.getEncoder();
 
<span class="hljs-built_in">byte</span>[] encodByte     = encoder.encode(tempBytes);
System.<span class="hljs-keyword">out</span>.println(<span class="hljs-keyword">new</span> String(encodByte));
 
String encodString      = encoder.encodeToString(tempBytes);
System.<span class="hljs-keyword">out</span>.println(encodString);
 
<span class="hljs-comment">//디코딩</span>
Decoder decoder         = Base64.getDecoder();
 
<span class="hljs-built_in">byte</span>[] decodByte1        = decoder.decode(encodByte);
<span class="hljs-built_in">byte</span>[] decodByte2        = decoder.decode(encodString);
 
String decodString      = <span class="hljs-keyword">new</span> String(decodByte1, <span class="hljs-string">"EUC-KR"</span>);<span class="hljs-comment">//String 생성시 인코딩 지정</span>
System.<span class="hljs-keyword">out</span>.println(decodString);
 
System.<span class="hljs-keyword">out</span>.println(<span class="hljs-keyword">new</span> String(decodByte2, <span class="hljs-string">"UTF-8"</span>));<span class="hljs-comment">//String 생성시 인코딩 지정</span>
</code>

인코딩 디코딩 작업 시 charsetName이 다른 경우 아래와 같은 실행 결과가 출력 됩니다.

7YWM7Iqk7Yq4
7YWM7Iqk7Yq4
���ㅽ��
테스트

 

반응형

'JAVA' 카테고리의 다른 글

엑셀 날짜(date) 형식 컬럼 처리  (0) 2021.11.29
Jwts 에러 발생시 확인 사항  (0) 2021.11.25
OS 환경 변수 가지고 오기  (0) 2021.11.08
stream LinkedList filter cannot be cast  (0) 2021.11.04
Integer to Date java  (0) 2021.11.01
Posted by 질주하는구
,