Python で画像を Base64 にエンコードする

画像を Base64 でエンコードされた文字列に変換します。 SVG、JPG、JPEG、PNG、BMP、GIF、TIFF、ICO、IFIF、WEBP、その他の画像形式がサポートされています。

Base64エンコーディング

Base64 は、バイナリ データを ASCII テキストに変換するエンコード スキームで、インターネット上でデータを転送するためによく使用されます。画像が Base64 に変換されると、結果はラテン文字、数字、および「+」と「/」の 2 つの文字の文字列になります。ブラウザは、このエンコードされたデータを問題なく解釈できます。つまり、Base64 はバイナリからテキストへのエンコードであり、JSON、XML、データ URI、CSS などのさまざまな形式に埋め込むことができます。

Base64 は、画像やその他のバイナリ リソースを HTML や CSS ファイルに直接埋め込むために広く使用されています。これにより、画像がすでに HTML ドキュメントに含まれているため、追加の Web リクエストが不要になります。ただし、Base64 は小さな画像に最適です。 Base64 でエンコードされた大きな画像は HTML を肥大化し、パフォーマンスの低下につながる可能性があります。また、Base64 画像は画像検索に表示されないため、Google がインデックスに登録することはありません。


オンラインで画像を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>



Base64画像をHTMLに埋め込む

画像を Base64 に変換するのはなぜですか? Base64 でエンコードされた画像は、<img> タグを使用して画像データをデータ URI として挿入することで HTML に直接埋め込むことができます。この方法により、ブラウザが Web ページを読み込むために必要な 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 は、カンマで区切られた 2 つの部分で構成されます。最初の部分は Base64 でエンコードされた画像のデータ URI スキーム ヘッダーを指定し、2 番目の部分は Base64 でエンコードされた画像文字列自体を定義します。

  1. data:image/svg+xml;base64 は、データ URI スキーム ヘッダーです。
  2. PHN2ZyB3aWR0aD0iNTAwIiBoZWlnaHQ... は、エンコードされた Base64 データです。



CSS コードに Base64 画像を埋め込む

画像に対する HTTP リクエストの数を減らすもう 1 つの方法は、CSS のbackground-imageプロパティを使用することです。このプロパティは、要素の背景として画像を設定し、各画像を URL または画像データ URI として指定できます。 URL を使用すると、ブラウザーは HTTP リクエストを送信して外部画像を取得しますが、Base64 画像がデータ URI として埋め込まれている場合、画像はドキュメントに直接含まれます。これは、ブラウザが追加の 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 リクエストを行わずに Web ページやアプリケーションに埋め込むのに便利です。

Base64画像が埋め込まれたJSONコード

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

オンライン Base64 エンコーダ

オンライン Base64 エンコーダ SVG ドキュメントまたは画像ファイルのコンテンツを、ASCII 文字でエンコードされた同等の文字列表現に変換します。データ URI、JSON、XML などの例も提供します。エンコード ツールは、Web サイトのコンテンツや電子メール メッセージを読めなくするさまざまなデータ エンコードの問題を回避するのに役立ちます。 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