Base64 - Javascript에서 문자를 Base64로 인코딩, 변환하는 방법

보윤이의 기술 블로그·2022년 8월 31일
post-thumbnail

자바스크립트(Javascript)에서 문자를 base64로 인코딩, 변환하는 방법

  • base64로 인코딩하는 경우
    - 데이터베이스에 전송할 때 이미지인 경우 base64 타입을 요구하는 경우
    - 보통 이미지는 base64로 인코딩 후 blob DB에 업로드
    - 또는 인증과 관련된 정보 역시 base64로 인코딩 후 전송

  • base64로 인코딩 또는 디코딩 방법. 이때 사용할 함수와 문법은 아래와 같음

    • btoa() : base64로 인코딩
    • atob() : base64로 디코딩

Javascript에서 문자를 Base64로 인코딩, 변환하는 방법

  • 먼저 'bboyooning' 텍스트를 인코딩하여 출력하려고 합니다.
    test = 'webisfree';
    test2 = btoa(test);
    • "YmJveW9vbmluZw==" base64로 변환되어 출력되었음
    • 아래는 이를 다시 디코딩하여 원래의 값이 얼마인지 확인 atob(test2)
    • "bboyooning" base64에서 디코딩하여 원래값을 반환
    • 정상적으로 인코딩, 디코딩이 base64로 수행 완료

! base64로 인코딩이 안되는 경우

  • 참고로 위 함수를 실행할 경우 인코딩이 안된다면 그 이유는 문자열에 8-bit bye로 나타낼 수 없기 때문.
    이 경우 아래처럼 인코딩 함수를 추가로 실행하여 base64로 변경.
    만약 str이라는 변수가 존재한다면...btoa(unescape(encodeURIComponent(str)))
    이렇게 변환하여 실행할 경우 btoa() 함수가 동작할 것!

여기까지 base64 변환 방법을 자세히 알아보았습니다.

profile
어제보다 오늘 더 성장하는 프론트엔드 개발자

0개의 댓글