Base 64
이진(binary) 데이터를 ASCII 코드의 일부(A-Z, a-z, 0-9 + 기호)와 매칭되는 문자열로 변환하는 인코딩 방식
기존 데이터보다 약 33% 길이 증가
데이터가 작을 수록 증가폭 더 클 수 있음
대부분
=
또는==
로 끝나는 문자열
💡Base 64 사용하는 이유?
이진 데이터를 문자열(텍스트) 기반 데이터로 처리할 수 있기 떄문에
이미지, zip 파일 등을 문자열 기반 데이터(XML, JSON, RESTful API 등)에 포함해야 하는 경우,
파일을 base 64로 인코딩하면 UTF-8과 호환 가능
패딩(
=
,==
) 추가하는 이유?
JSON, HTTP body 처럼 데이터 길이가 명시적으로 구분되는 경우는 상관 없지만, TCP 처럼 스트림 형태라면 문제가 될 수 있음.
Reference
Last updated