Base64
Base64 인코딩 과정
1. 바이너리 데이터는 아래와 같이 8bit씩 나누어져 있다
- 00110011 | 01110010 | 01101011 | 00001010
(왜 6bit인가? 이유는 64개의 문자이기때문에 2^6^으로 표현할 수 있기때문이다)
- 001100 | 110111 | 001001 | 101011 | 000010 | 10
(정답은 남은부분을 "0"으로 채워주는 것이다)
- 001100 | 110111 | 001001 | 101011 | 000010 | 10 0000
- 위와같이 "0"으로 채워주는 경우가 있을때에는 남는 bit에 따라서 패딩문자 "=" 한개 또는 "==" 두개를 붙여준다. (2bit가 남으면 "=" , 4bit가 남으면 "==")
4. 6bit로 나눠진 비트들을 각각 정수로 변환해 위의 64개의 문자(첫번째부터 차례대로 0 ~ 63)에 맞춰 문자를
만들어준다.
Example
"Pointi"라는 글자를 Base64 인코딩을 해보자.
1. 먼저 각각의 문자를 2진수(8bit)로 변환한다.
2. 만들어진 2진수 값들은 아래와 같다.
3. 이것들은 6bit로 나눠준다.
4. 나눠진 6bit로 이루어진 2진수는 아래와 같이 정수로 바꿔준다.
5. 아래의 표에 맞춰 문자를 만들어준다.
6. 결과는 UG9pbnRp 이다.
첫글 게시 감사!! 잘봤어요
답글삭제다시 봐도 깔끔하게 정리잘 된, 좋은 글~!
답글삭제