Base64

HyeBin, Park·2022년 9월 15일
0

Base64

8비트 이진 데이터를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식

  • 화면에 표시가능한 ASCII 코드를 나타낼 수 있는 가장 큰 진법이 64
  • 전자 메일을 통한 이진 데이터 전송에 많이 쓰인다.
  • 알파벳 대소문자, 숫자, +, / 그리고 끝을 알리는 "="
  • 인코딩 후 원본보다 4/3 정도 크기가 늘어난다.

왜 사용하는가 ?

base64로 인코딩할 경우 파일의 크기가 늘어나고 추가연산이 필요한데 사용하는 이유가 무엇인가?

  • 통신 과정에서 바이너리 데이터의 손실을 막기 위해서 사용
  • 안전한 출력 문자만을 사용하여 시스템별로 상이해서 생기는 문제들의 발생을 막기 위함 => 일부 제어문자의 경우 시스템 별로 다른 코드 값을 가짐
  • 문자를 위한 미디어에 포함된 바이너리 데이터가 시스템에 영향을 받지 않고 동일하게 전송 또는 저장되는 걸 보장하기 위함

동작 방식

HI 를 변환하면 SEk가 된다. SEk=
간편 확인은 https://www.useotools.com/ko/base64-decoder 여기서 해봐도 좋을 것 같다.

  1. 변환하고 싶은 문자열의 ASCII 값을 8비트로 변환

  2. 6bit씩 나누고, 6bit 보다 부족할 경우 0을 추가한다.

  3. 색인에 맞게 변경하고 마지막에 = 붙여주면 끝

Refer

https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%8A%A464

0개의 댓글