Base64란?
Base64
base64는 텍스트 그대로 64진법이라는 뜻이며, 실행 파일이나 압축 파일 같은 8비트 이진 데이터를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 문자열로 바꾸는 인코딩 방식이다.
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
와 같이 64개의 문자로 이루어져있고 동영상과 이미지 영역에서 많이 사용된다.
Base64 인코딩 과정
- 원본 문자열
- ASCII binary
- 6비트로 자른다.
- base64 인코딩
6비트로 나눠서 자를 때 남은 바이트가 3비트 미만이라면 “=”(padding 비트) 문자로 채워넣는다.
Base64 인코딩을 하는 이유
base64로 인코딩을 하게 되면 6비트당 2비트의 오버헤드가 발생하여 전송해야할 데이터의 크기가 약 33% 증가한다.
그럼에도 사용하는 이유는 대표적으로 ASCII는 7비트 인코딩인데 나머지 1비트를 처리하는 방식이 시스템 별로 상이하기 때문이고 이러한 문제로 ASCII는 시스템간 데이터를 전달하기에 안전하지 않기 때문이다.
Base64는 ASCII 중 제어문자와 일부 특수문자를 제외한 64개의 안전한 문자만 사용한다.
Leave a comment