중성자 별의 충돌 에너지

'공부/0x09 STUDY'에 해당되는 글 5건

  1. 2012/02/20 Base64 Encode 원리 (2)

2012/02/20 18:19 : 공부/0x09 STUDY

크리에이티브 커먼즈 라이선스
Creative Commons License

 

1. 개요

Base64 는 8비트 이진 데이터(바이너리나 압축파일 등)를 문자코드에 영향을 받지 않는 공통 ASCII  문자들로만 이루어진 문자열로 바꾸는 인코딩 방식이다.

2. 원리
Base64 에서 64란 숫자는 진법을 뜻한다. 즉 Base64 는 64 진법으로 인코딩을 하는 방식인데 이는 ASCII 문자를 나타낼때 가장 적당한 숫자이다. 컴퓨터가 처리하는 2진, 2의 제곱수대로 나타낼때 2의6승은 64이고 2의7승은 128인데 128의 경우 128개를 채울 ASCII 문자가 없다.

알파벳 A-Z(26개) + a-z(26개) + 숫자0-9(10개) 해서 62개의 문자가 있고 나머지 2개를 어떤기호를 쓰는지에 대한 차이가 base64의 변종으로 나눠지며, 기본은 + / 문자가 쓰여진다.

입력된 문자열바이트가 하나(8bit) 라면 출력은 6bit(64진수) 출력되고 나머지 2bit 는 패딩 문자 "=" 로 체워진다. 이는 원본문자열로 decode 했을때 원본에는 없던 비트가 생기는 것을 방지 하기 위함이다.

3. Base64 문자표
문자 문자 문자 문자
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /


4. 예제

ABCD를 Base64 로 인코딩

Base64 인코딩은 24bit (ASCII 의 8bit 와 Base64 인코딩의 6bit, 8과 6의 최소공배수 24) 단위로 인코딩을 하기때문에 모자리는 비트는 0인, 패딩문자 '=' 로 치환한다.

※ 예제확인은 util.NEXTCUBE(http://util.nextcube.pe.kr) 에서 확인할 수 있다.
저작자 표시 비영리

'공부 > 0x09 STUDY' 카테고리의 다른 글

Base64 Encode 원리  (2) 2012/02/20
자바스크립트 encodeURI / encodeURIComponent / escape 비교  (0) 2012/02/20
  (0) 2012/02/15
URL encode / URL decode  (0) 2012/02/15
메모리 구조  (0) 2012/01/18
Posted by Project Earth NextCube Trackback 0 Comment 2