본문 바로가기
Python

[Base64] 이미지 데이터를 텍스트 데이터로 변환하는 방법

by 잉나영 2024. 12. 1.
반응형

Base64는 바이너리 데이터를 텍스트로 변환하기 위한 인코딩 방식입니다. 주로 데이터를 안전하게 전송하거나 저장할 때 사용됩니다. 텍스트 기반 프로토콜(예: 이메일, JSON, XML 등)에서 이진 데이터를 사용할 수 있도록 도와줍니다.

 

따라서,

Base64는 그림이나 PDF를 직접 인식하는 도구라기보다는, 이진 데이터를 텍스트 형태로 변환하여 데이터를 전송하거나 저장할 때 사용되는 인코딩 방식입니다.

 


Base64의 특징

  1. 64개 문자 사용
    Base64는 알파벳 대소문자(A-Z, a-z), 숫자(0-9), 그리고 두 개의 추가 문자(+, /)를 사용하여 총 64개의 문자를 인코딩에 사용합니다.
    예: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
  2. 패딩 문자 (=)
    데이터의 길이가 3의 배수가 아닐 경우, 인코딩 결과를 채우기 위해 패딩 문자 =가 추가됩니다.
  3. 3 바이트 → 4 바이트 변환
    원본 데이터의 3바이트를 4개의 6비트 청크로 나누어 Base64로 변환합니다. 따라서 인코딩된 데이터는 원본보다 약 33% 더 커집니다.

Base64의 사용 예시

  1. 이미지 또는 파일 전송
    이미지를 Base64로 인코딩하여 HTML, JSON 또는 이메일에 포함할 수 있습니다.
    예: <img src="data:image/png;base64,..." />
  2. 데이터 전송 안전성 확보
    HTTP, SMTP 같은 텍스트 기반 프로토콜로 바이너리 데이터를 전송할 때 문제가 발생하지 않도록 데이터를 변환합니다.
  3. 데이터 저장
    JSON 등 텍스트 포맷에서 바이너리 데이터를 저장할 때 유용합니다.

 


인코딩 & 디코딩 예시 

import base64

# 바이너리 데이터를 Base64로 인코딩
data = "Hello, Base64!".encode()  # 문자열을 바이너리로 변환
encoded_data = base64.b64encode(data)
print("Encoded:", encoded_data.decode())  # Base64로 인코딩된 텍스트 출력

# Base64 데이터를 디코딩
decoded_data = base64.b64decode(encoded_data)
print("Decoded:", decoded_data.decode())  # 원래 문자열로 복원

 

출력값

Encoded: SGVsbG8sIEJhc2U2NCE=
Decoded: Hello, Base64!

 

 

다음글 -> 

https://lnylnylnylny.tistory.com/49

 

[Base64] 이미지 데이터를 텍스트 데이터로 변환 방법 코드

https://lnylnylnylny.tistory.com/48 [Base64] 이미지 데이터를 텍스트 데이터로 변환하는 방법Base64는 바이너리 데이터를 텍스트로 변환하기 위한 인코딩 방식입니다. 주로 데이터를 안전하게 전송하거나

lnylnylnylny.tistory.com

 

반응형