base64 란?

devdo·2023년 3월 3일
0

네트워크

목록 보기
7/7

Base64 인코딩은 8비트 이상의 이진 데이터ASCII 문자로 변환하는 인코딩 방식입니다. 이 방식은 주로 이메일이나 HTTP 요청 등에서 바이너리 데이터를 전송해야 할 때 사용됩니다. 이유는 다음과 같습니다.

ASCII 문자로 변환하면 데이터를 안전하게 전송할 수 있습니다.
2진(bit) 데이터는 일반적으로 8비트 이상으로 직접 전송하면 데이터가 손실될 수 있습니다.

Base64는 8비트 이상의 2진 데이터를 안전하게 ASCII 문자로 변환하여 전송합니다.

💥 짜르는 방식
2진(bit) 데이터를 6bit씩 자른 뒤, base64 색인표에 따라 치환하여 ASCII 문자열로 바꿔줍니다. 그런데 그냥 ASCII 문자열이 아니라, ASCII 중 제어문자와 일부 특수문자를 제외한 64개의 안전한 출력문자만 사용하여 바꿉니다.

binary data를 바로 ASCII 인코딩을 하면 문제가 발생할 수 있기 때문에, base64 인코딩을 한다.


문자열로 전송하는 게 어떤 게 좋아?

문자열로 변환하면 더 많은 응용 프로그램에서 사용할 수 있습니다.

이진 데이터를 직접 전송하는 것은 어렵기 때문에, 문자열로 변환하여 전송하는 것이 더 쉽습니다.

또한, Base64로 인코딩된 문자열은 문자열로 다루기 쉽기 때문에, 다양한 응용 프로그램에서 사용될 수 있습니다.


데이터 크기도 줄여.

데이터 크기도 줄일 수 있습니다.
Base64로 인코딩하면 데이터 크기가 약 33% 정도 줄어듭니다. 이는 이진 데이터를 문자열로 변환하여 전송하는 것이 더 효율적이기 때문입니다.


💥 URL 인코딩이랑 달라.

URL인코딩은 url상에서 문자를 표현하기 위한 인코딩이다. 예를 들어 http://naver.com/에 query=고양이 라는 데이터를 표현하면 http://naver.com/?query=%B%A%C <-대략 이런식으로 바꾸는 처리를 말한다.

profile
배운 것을 기록합니다.

0개의 댓글