본문 바로가기
츄Log/기타 끄적

Base64 Encoding

by 츄츄🦭 2023. 12. 6.
728x90

 

안녕하세요! 오늘은 Base64 인코딩을 알아보겠습니다.

 

Base64인코딩은 문자열 인코딩이 아닌 바이트열을 문자열로 인코딩하는 방법 중 하나입니다.

 

Base64는 원본 바이트열을 6bit씩 잘라서 ASCII 코드로만 이뤄진 문자열로 인코딩하는 방식입니다.

ASCII 코드는 8bit로 표현되는데, 6bit로 쪼개서 ASCII 코드로 변환된다면 전체 사이즈는 늘어나게 됩니다.

사이즈가 느는 만큼 장점이 필요한데요, 

모든 시스템이 알고 있는 ASCII 코드로 처리되기 때문에 시스템간 규격을 맞추지 않아도 됩니다. 

 

출처 : https://namu.wiki/w/BASE64

 

왼쪽 사진이 6bit 값에 대응되는 ASCII 문자이고, 

오른쪽 사진은 6bit binary열에 대응되는 ASCII 문자입니다.

 

이 표를 활용하여 Base64 인코딩을 해보겠습니다.

원본 Hi
ASCII 72, 105
ASCII binary 배열 01001000  01101001
6bit씩 자르기 010010 000110 100100 (맨 마지막 모자란 부분은 0으로 채웁니다) 
여기에 해당하는 ASCII S G k =  (24bit 버퍼가 다 채워지지 않았으면 빈 곳에는 =으로 패딩합니다.)

즉, "Hi"를 Base64 인코딩한 값은 "SGk=" 가 됩니다.

 

 

바이트열을 문자열로 인코딩 하기 위한 Base64를 알아보았습니다.

궁금한 점이 있으면 댓글 남겨주세요 :) 

728x90