파이썬에서 베이스64(base64) 인코딩과 디코딩

얼마전에 리눅스에서 베이스64 인코딩과 디코딩하는 방법에 대해 포스팅을 했었습니다. 아래의 링크입니다.

리눅스에서 베이스64 인코딩과 디코딩

파이썬에서도 간편하게 베이스64 인코딩과 디코딩을 할 수 있습니다. base64 모듈을 이용합니다. 우선 test.jpg 파일을 읽어서 베이스64 인코딩을 통해 문자열을 생성하는 예시는 아래와 같습니다. base64.b64encode() 함수를 이용합니다.

import base64

f = open('test.jpg', 'rb')
f_data = f.read()
f.close()

# encode
b64_enc_str = base64.b64encode(f_data)
print(b64_enc_str)

위의 예시에서 생성된 문자열로부터 베이스64 디코딩을 통해 다시 바이너리 데이터(여기서는 jpg 이미지)를 복원하려면 아래와 같이 할 수 있습니다. base64.b64decode() 함수를 이용합니다.

# decode
b64_dec_data = base64.b64decode(b64_enc_str)

f = open('test2.jpg', 'wb')
f.write(b64_dec_data)
f.close()

이미지 파일을 처리하므로 파일을 여는 open()에서 읽기/쓰기를 지정할 때 'rb', 'wb' 이런식으로 바이너리 데이터임을 명시하는 'b'문자가 들어가 있습니다.


@joviansummer의 스팀 프로젝트

스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)

jswit 증인 노드 프로젝트를 시작합니다.

jsup 업보팅(upvoting) 서비스 소개

jsup 수혜자 지정 기능 추가

jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다.

jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기

STEEM.NFT - 디지털 아트 보존 프로젝트


Posted through the AVLE Dapp (https://avle.io)

Sort:  

Hello friend!
I'm @steem.history, who is steem witness.
Thank you for witnessvoting for me.
image.png
please click it!
image.png
(Go to https://steemit.com/~witnesses and type fbslo at the bottom of the page)

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.08
TRX 0.29
JST 0.036
BTC 101814.78
ETH 3397.85
USDT 1.00
SBD 0.55