ASHD Dev_Blog

aiohttp, b64encoding

이재룡
이재룡 Oct 28, 2025

base64.b64encode를 하는 이유

  • img_b64 = base64.b64encode(img_bytes).decode('utf-8'): 이 부분은 위에서 얻은 바이너리 데이터(img_bytes)를 Base64 형식으로 인코딩하는 과정입니다.

왜 인코딩을 할까요?

가장 큰 이유는 Azure OCR API가 Base64로 인코딩된 이미지 데이터를 요구하기 때문입니다.

코드를 따라가 보면, download_and_extract_layout 함수는 결국 azure_read_layout 함수를 호출합니다. ocrs/azure_ocr.py 파일에 있는 이 함수를 보면,

azure_read_layout 함수는 Base64 형식의 **문자열(str)**을 입력으로 받도록 설계되어 있습니다.

정리하면 다음과 같은 흐름입니다.

  1. 이미지 다운로드session.get으로 이미지 URL에 접속해 이미지의 원본 **바이너리 데이터(bytes)**를 얻습니다.
  1. 데이터 형식 변환: 바이너리 데이터는 텍스트가 아니므로, JSON 요청이나 함수 인자 등으로 쉽게 전달하기 위해 Base64 인코딩을 통해 안전한 ASCII **문자열(string)**로 변환합니다.
  1. OCR 함수 호출: 변환된 Base64 문자열을 azure_read_layout 함수에 전달합니다.
  1. API 요청azure_read_layout 함수는 전달받은 Base64 문자열을 다시 바이너리 데이터로 디코딩하여 Azure 서버에 전송합니다.

요약: session.get으로 얻은 이미지의 원본 데이터(바이트)를, 다음 단계인 Azure OCR 함수가 요구하는 형식(Base64 문자열)으로 맞추기 위해 b64encode를 사용하는 것입니다.

 
 
 
 
 
 

[ 1. Variable & Constant ]

Variable

  • var <변수명> <type> = <초기값>
  • 타입 추론 <변수명> := <값>
 

Constant

  • iota : 0번 부터 시작하는 상수 열거형 at (enum을 만들 거나 할 때)
 
 

[ 2. Datatype ]

String

  • backQuote(’’)
  • DoubleQuote(’’)에서만 /n 과 같은 문자열 해석이 가능
Callout icon'
go에서는 type conversion 문제가 발생했을 때,
compile error가 아닌 runtime error가 발생 ( 오류 체크 할 때 주의 필요! )
 

Pointer

  • &k - 주소 할당
  • *p - 해당 주소의 실제 내용
 
 

[ 3. Collection ]

Array

  • zero-base 초기화가 자동
  • var <변수명> [크기]<type>

< 응용 : Slice >

  • python처럼 sub slice 이용
  • slice[start idx : end idx +1 ]

< 응용 : append 활용 >

 

Map

  • 기본형 map [key_type] value_type
  • 키 값 확인 key_val, exists := map["value"]
 
 

[ 4. 조건문 / 반복문 ]

if / else if / else

  • ( )는 안 쓰지만 { }는 필수
  • else if/else를 쓸 때는 반드시 전 조건의 마지막 ‘}’ 와 같은 라인에 써준다.
  • 다중 조건 ‘;’ 로 가능
 

for (no while)

  • 반복문에서 while이 없음
  • ( )는 사용하지 않음

< 응용 : range >

  • python처럼 range 사용 가능 (단 index까지 반드시 포함)
  • 기본적으로 break 사용가능

⇒ 즉 index와 리스트에서 뽑은 데이터 총 2개의 값을 for range에서 이용

< 응용 : 중첩 루프 탈출 : break[Label] >

  • label을 이용하여 for문을 건너뛰고 반복문 탈출 가능
  • label은 for문 앞에 선언되며, 여러 개의 for문을 한번에 탈출 가능
 
 

추천 글

BlogPro logo