Python에서 이미지를 Base64로 인코딩

이미지를 Base64로 인코딩된 문자열로 변환합니다. SVG, JPG, JPEG, PNG, BMP, GIF, TIFF, ICO, IFIF, WEBP 및 기타 이미지 형식이 지원됩니다.

Base64 인코딩

Base64는 바이너리 데이터를 ASCII 텍스트로 변환하는 인코딩 체계로, 인터넷을 통해 데이터를 전송하는 데 자주 사용됩니다. 이미지가 Base64로 변환되면 결과는 라틴 문자, 숫자, 두 문자("+" 및 “/")로 구성된 문자열입니다. 브라우저는 이 인코딩된 데이터를 문제 없이 해석할 수 있습니다. 즉, Base64는 JSON, XML, 데이터 URI 또는 ​​CSS와 같은 다양한 형식에 포함될 수 있는 바이너리-텍스트 인코딩입니다.

Base64는 이미지나 기타 바이너리 리소스를 HTML 또는 CSS 파일에 직접 삽입하는 데 널리 사용됩니다. 이미지가 이미 HTML 문서에 포함되어 있으므로 추가 웹 요청이 필요하지 않습니다. 그러나 Base64는 작은 이미지에 가장 적합합니다. 큰 Base64 인코딩 이미지는 HTML을 부풀려 성능을 저하시킬 수 있습니다. 또한 Google은 Base64 이미지가 이미지 검색에 표시되지 않기 때문에 색인을 생성하지 않는다는 점에 유의해야 합니다.


온라인에서 이미지를 Base64로 변환

Aspose.SVG for .NET API로 이미지를 실시간으로 인코딩하세요! 로컬 파일 시스템에서 이미지를 로드하면 데이터 URI, Base64 이미지 소스 및 Base64 CSS 배경 소스로 즉시 결과를 얻을 수 있습니다. SVG, JPG, JPEG, PJP, PJPEG, PNG, BMP, XBM, GIF, TIFF, ICO, IFIF, WEBP 및 기타 이미지 형식이 지원됩니다.



Python에서 이미지를 Base64로 변환

이 기사에서는 Aspose.SVG for Python via .NET를 사용하여 이미지 파일을 Base64 문자열로 인코딩하는 방법을 고려합니다. 다음 Python 예제에서는 SVG 이미지를 Base64 문자열로 변환하고 이를 SVG 파일에 포함하는 방법을 보여줍니다.

SVG 이미지를 Base64로 변환하는 Python 코드

import base64
from aspose.svg import SVGDocument


document_path = "image.svg"

# Open an SVG image
with open(document_path, "rb") as file:
    bytes_data = file.read()

# Initialize an SVGDocument object
document = SVGDocument()

# Create an image element
img_element = document.create_element_ns("http://www.w3.org/2000/svg", "image")

# Convert SVG image to Base64 and set the href attribute
encoded_image = f"data:image/svg+xml;charset=utf-8;base64,{base64.b64encode(bytes_data).decode('utf-8')}"
img_element.set_attribute("href", encoded_image)

# Add the image element to the SVG document
document.document_element.append_child(img_element)

# Save the SVG document
document.save("image-base64.svg")

결과 image-base64.svg 파일의 일부는 아래와 같습니다. Base64 문자열은 SVG 코드 예제를 복잡하게 만들지 않도록 잘렸습니다. Base64 이미지를 URI 데이터로 포함하는 형식은 구체적으로 다음과 같습니다.

data:[<mime type>][;charset=<charset>][;base64],<encoded data>

Base64 이미지를 삽입하는 SVG 코드

<svg xmlns="http://www.w3.org/2000/svg">
	<image href="data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ..." alt="Alt text for the image"/>
</svg>



HTML에 Base64 이미지 삽입

이미지를 Base64로 변환하는 이유는 무엇입니까? Base64로 인코딩된 이미지는 <img> 태그를 사용하여 이미지 데이터를 데이터 URI로 삽입하여 HTML에 직접 삽입할 수 있습니다. 이 방법은 브라우저가 웹페이지를 로드하는 데 필요한 HTTP 요청 수를 줄여 성능을 향상시킵니다. 다음 코드 조각은 Base64 이미지를 HTML에 포함하는 방법을 보여줍니다.

Base64 이미지를 데이터 URI로 포함하는 HTML 코드

<body>
    <div>
        <img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ..." alt="Alt text for the image">
    </div>
</body>

데이터 URI는 쉼표로 구분된 두 부분으로 구성됩니다. 첫 번째 부분은 Base64로 인코딩된 이미지에 대한 데이터 URI 체계 헤더를 지정하고, 두 번째 부분은 Base64로 인코딩된 이미지 문자열 자체를 정의합니다.

  1. data:image/svg+xml;base64는 데이터 URI 체계 헤더입니다.
  2. ‘PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ…‘는 인코딩된 Base64 데이터입니다.



CSS 코드에 Base64 이미지 삽입

이미지에 대한 HTTP 요청 수를 줄이는 또 다른 방법은 CSS background-image 속성을 사용하는 것입니다. 이 속성은 이미지를 요소의 배경으로 설정하며 각 이미지를 URL 또는 이미지 데이터 URI로 지정할 수 있습니다. URL을 사용하면 브라우저가 외부 이미지를 가져오기 위해 HTTP 요청을 보내지만 데이터 URI로 포함된 Base64 이미지를 사용하면 이미지가 문서에 직접 포함됩니다. 즉, 브라우저는 추가 HTTP 요청을 할 필요가 없으므로 페이지 로드 시간이 단축됩니다.

Base64 이미지를 데이터 URI로 포함하는 CSS 코드

body {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ...");
}



XML에 Base64 이미지 포함

XML에 포함하기 위해 이미지를 Base64로 인코딩하면 이미지를 이 형식에 직접 포함할 수 있어 통합이 단순화되고 이식성이 향상되어 외부 파일 참조의 필요성이 줄어듭니다.

Base64 SVG 이미지가 내장된 XML 코드

<?xml version="1.0" encoding="UTF-8"?>
<root>
<image mime = "image/svg+xml">PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ...</image>
</root>



JSON에 Base64 이미지 포함

이미지를 Base64로 변환하고 JSON으로 저장하면 추가 HTTP 요청 없이 웹 페이지나 애플리케이션에 삽입하는 데 유용합니다.

Base64 이미지가 포함된 JSON 코드

{
  "image": {
    "mime": "image/png",
    "data": "PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ..."
  }
}

온라인 Base64 인코더

온라인 Base64 인코더 는 SVG 문서 또는 이미지 파일의 콘텐츠를 ASCII 문자로 인코딩된 해당 문자열 표현으로 변환합니다. 또한 데이터 URI, JSON, XML 등에 대한 예제도 제공합니다. 인코딩 도구는 웹 사이트 콘텐츠나 이메일 메시지를 읽을 수 없게 만드는 다양한 데이터 인코딩 문제를 방지하는 데 도움이 됩니다. Base64 인코더는 안전하고 사용하기 쉬우며 완전 무료입니다. 모든 브라우저와 운영 체제에서 작동합니다. 지금 무료로 이미지를 Base64로 변환하세요!

Python API 시작하기

확장 가능한 벡터 그래픽과 해당 애플리케이션을 개발하려면 유연한 고속 Aspose.SVG for Python via .NET API를 설치하세요. pip은 Aspose.SVG for Python via .NET API를 다운로드하고 설치하는 가장 쉬운 방법입니다. 이렇게 하려면 다음 명령을 실행하십시오.

pip install aspose-svg-net

Python 라이브러리 설치 및 시스템 요구사항에 대한 자세한 내용은 Aspose.SVG 문서 를 참조하세요.

기타 지원되는 인코더

이미지를 Base64로 인코딩할 수 있습니다. JPG, PNG, BMP, GIF, TIFF, ICO 및 SVG 형식이 지원됩니다.

  • PNG to Base64
  • JPG to Base64
  • PNG to XML
  • JPG to XML