JavaScript로 BASE64 인코딩/디코딩

Myeongjun Park·2022년 10월 10일
0
post-thumbnail

📖 BASE64란?

8비트의 이진 데이터(Binary Data)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념이다.

✅ BASE64를 사용하는 이유

BASE64로 인코딩 시, 6bit당 2bit의 Overhead가 발생하고, 전송해야 될 데이터의 크기가 약 33% 증가 한다. 그럼에도 사용하는 이유는 통신 과정에서 이진 데이터의 손실을 막기 위해 사용된다.
즉, HTML, 이메일 또는 DB에 이미지를 전송할 경우처럼 이진 데이터를 포함해야 할 때, 포함된 이진 데이터가 시스템 독립적으로 동일하게 전송/저장되는 걸 보장하기 위해 사용한다.

✅ 어떻게 인코딩 / 디코딩 할까?

btoa() // 인코딩
atob() // 디코딩

👊 사용 예시

const text = 'hello';
const base64 = btoa(text); 
console.log(base64) // 인코딩 되어 출력

📌 참고
BASE64 - Wikipedia
BASE64란 무엇일까? / BASE64 사용 이유와 인코딩과 디코딩
Javascript에서 문자를 BASE64로 인코딩, 변환하는 방법은?

profile
머릿속에 잘 들어갔는지 확인하는 곳

0개의 댓글