Base64 인코딩 방식

2014. 6. 12. 10:45C++

http://blog.naver.com/fjrzlgnlwns/220018324874

Base64

 

 



 

 

1. 개념

 Base64 인코딩 기법은 일반적으로 바이너리 데이터를 텍스트 형식(문자)으로 저장하거나 전송하기 위해서 사용되는 인코딩 기법이다. 이 방식은 데이터를  전송 중에  수정하지않고 데이터 손실이 없도록 한다. 많은 어플리케이션에서 Base64인코딩을 사용하고 있다.

 

 

2. 인코딩 기법

 

 

1) 아스키코드표 매핑

2) 2진수로 변환(8비트에 맞게 표현)

3) 6비트 단위로 자르기

4) 10진수로 변환

5) Base64 테이블 매핑

6) 패딩 연산(원본의 비트수%3만큼 =을 붙여준다.)

 

 

 



<아스키 테이블>

 

 




 

<Base 64 테이블>

 

 

 

3. 인코딩 예제


인코딩할 문자열 : Hello

 

1) 아스키코드표 매핑

 

0x48 0x65 0x6c 0x6c 0x6f

 

 

2) 2진수로 변환(8비트에 맞게 표현)

 

01001000 01100101 01101100 01101100 01101111

 

 

3) 6비트 단위로 자르기

 

010010 000110 010101 101100 011011 000110 111100

 

 

4) 10진수로 변환

 

18 6 21 44 27 6 60

 

 

5) Base64 테이블 매핑

 

SGVsbG8

 

 

6) 패딩 연산(원본의 비트수%3만큼 =을 붙여준다.)

 

40(Hello의 비트수)%3 = 1

 

SGVsbG8==

 

7) 결과

 

SGVsbG8==

 

[출처] Base64 인코딩|작성자 가나