Problem1108--base64 인코딩

1108: base64 인코딩

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 22  Solved: 9
[Submit] [Status] [Web Board] [Creator:]

Description

base64 인코딩을 구현해보자

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 /

  1. 24비트 버퍼에 가장 위쪽 비트부터 한 바이트씩 세 바이트를 넣습니다.
  2. 남은 바이트가 3바이트 미만이라면 버퍼의 남은 부분을 0으로 채워넣게 됩니다.
  3. 버퍼의 위쪽부터 6비트로 잘라 그 값을 읽어 base64색인표에서 그 문자를 출력합니다.
  4. 입력된 바이트가 하나라면 출력은 두개만 되고 나머지 둘은 “=”으로 패딩됩니다.

base64 인코딩 예제:

문자 입력 : AB
A, B의 ASCII 값 : 65, 66
A, B의 2진법 : 0100 0001, 0100 0010
한 바이트씩 24비트 버퍼에 집어 넣으면 다음과 같은 형식로 구성됩니다.



 ※ 이미지에 두번째 인덱스가 잘못 되어 있다. 24 => 20
인코딩 문자열 : 
QUI=
[참고 자료] http://minsone.github.io/programming/algorithm-base64-encoding-decoding

Input

int 범위의 testCase와 testCase만큼의 숫자와 영어 대소문자로만 이루어진 문자열(1024자 이내)이 입력된다.

Output

각 줄 마다 base64 인코딩 결과를 출력한다.

Sample Input Copy

1
AB

Sample Output Copy

QUI= 

HINT

화이팅!

Source/Category