티스토리 뷰
Base64
컴퓨터 분야에서 쓰이는 Base 64 란 8비트 이진 데이터(실행 파일, ZIP 파일)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념이다.
간단하게 예를 들어 설명하자.
apple을 base 64로 변환하는 과정
apple의 각 문자를 아스키코드로 치환한다.
a | p | p | l | e |
97 | 112 | 112 | 108 | 101 |
8비트 2진수로 변환시킨다.
97 | 112 | 112 | 108 | 101 |
01100001 | 01110000 | 01110000 | 01101100 | 01100101 |
6비트씩 묶어준다.
011000, 010111, 000001, 110000, 011011, 000110, 0101
하지만 위 처럼 모두 6비트씩 묶이지 않는 경우도 발생한다.
그럴 땐 마지막 0101에 00을 추가로 붙여서 인코딩한다.
base64의 표는 000000으로 시작하며 해당값은 'A'이다.
또한 A-Z, a-z, 0-9, +,/ 순으로 정렬되어있으며 개수는 총 64개이다.
이제 변환시켜주자.
011000 | 010111 | 000001 | 110000 | 011011 | 000110 | 010100 |
Y | X | B | w | b | G | U |
따라서 apple은 YXBwbGU 으로 치환이 된다.
그리고 문자의 수가 맞지 않아 추가시켰던 0의 개수의 절반만큼 =을 붙여주면 완성이다.
apple -> (base64) -> YXBwbGU=
여기서=는 패딩문자라고 한다.
base64가 원문보다 33%길어짐에도 사용하는 이유는 신뢰할 수 없는 통신에서도 binary데이터를 안전하게 전송하기 위함.
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준 피보나치 수열
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- java
- Los
- 코딩테스트 준비
- lord of sql
- samron
- 김영한 실전 자바 기초
- ys.k
- 프로그래머스 상품을 구매한 회원 비율 구하기
- 상품을 구매한 회원 비율 구하기 파이썬
- static
- 상속
- los 15단계
- los 15
- 스프링
- 프로그래머스
- 백준
- spring
- zixem
- samron3
- 김영한 실전 자바 중급
- 김영한 실전 자바 기본
- webhacking.kr
- 자바
- 기술스택
- extends
- 백준 피보나치
- 코딩테스트
- 김영한
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
250x250