[BaekJoon] - 10935 base64 인코딩
글 작성자: Universe7202
#!/bin/python3
# base64 인코딩
import string
BIT = 6
def padding(binary):
return binary + '0' * (BIT - len(binary) % 6)
if __name__ == "__main__":
b64_table = dict()
count = 0
for char in string.ascii_uppercase + string.ascii_lowercase + string.digits + "+/":
b64_table[str(count)] = char
count += 1
plaintext = input("")
binary = ''
for char in plaintext:
binary += bin(ord(char))[2:].zfill(8)
if len(binary) % BIT != 0:
binary = padding(binary)
count = int(len(binary) / BIT)
encode = ''
for i in range(0, count):
bit6 = binary[i * BIT : (i+1) * BIT]
encode += b64_table[str((int(bit6,2)))]
if len(plaintext) % 3 != 0:
encode += "=" * (3 - len(plaintext) % 3)
print(encode)
'BaekJoon' 카테고리의 다른 글
[BaekJoon] - 10871 x보다 작은 수 (0) | 2019.10.13 |
---|---|
[BaekJoon] - 10936 base64 디코딩 (0) | 2019.10.12 |
[BaekJoon] - 10845 큐 (0) | 2019.10.12 |
[BaekJoon] - 10828 스택 (0) | 2019.10.12 |
[BaekJoon] 1158번 조세퍼스 문제 (0) | 2019.10.10 |
댓글
이 글 공유하기
다른 글
-
[BaekJoon] - 10871 x보다 작은 수
[BaekJoon] - 10871 x보다 작은 수
2019.10.13 -
[BaekJoon] - 10936 base64 디코딩
[BaekJoon] - 10936 base64 디코딩
2019.10.12 -
[BaekJoon] - 10845 큐
[BaekJoon] - 10845 큐
2019.10.12 -
[BaekJoon] - 10828 스택
[BaekJoon] - 10828 스택
2019.10.12