blog

# ClipboardToBase64 - 2. 이미지를 Base64로 인코딩하기 본문

Python/ClipboardToBase64

# ClipboardToBase64 - 2. 이미지를 Base64로 인코딩하기

ismyresume 2022. 1. 11. 04:27

가져온 자료를 Base64 형식으로 인코딩하기

  1. 클립보드에 있는 걸 가져온다.
  2. 가져온 자료를 Base64 형식으로 인코딩한다.
  3. 마크다운에 맞게 태그를 변환한다.
  4. 클립보드로 넣어준다.

가져온 이미지를 Base64로 인코딩 해야한다.

PNG 파일을 열고 Base64로 인코딩해서 확인하는 테스트를 하나 만든다.

텍스트 길이가 길어지면 에러가 발생하니까 maxDiff=none 를 사용하거나, 길이를 비교하는 함수를 사용하는 걸로..

test_image_file = 'animal.png'
test_base64_file = 'animal.txt'

class TestPngToBase64(TestCase):
    def setUp(self) -> None:
        with open(test_base64_file, 'rb') as text:
            self.base64_text = text.read()

    def test_image_to_png(self):
        image_read = pngimagefile_to_base64(test_image_file)
        self.assertEqual(len(image_read), len(self.base64_text))

이미지 파일과 이미지 파일을 Base64로 인코딩한 텍스트 파일을 가져온 다음 파일의 길이를 비교해보는 테스트다.

파일을 가져와서 인코딩하는 해결하기 위한 함수를 만든다.

def pngimagefile_to_base64(filepath):
    with open(filepath, 'rb') as image:
        image_read = image.read()
    base64_encoded = base64.b64encode(image_read).decode('utf-8')
    return base64_encoded
Comments