Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menukar Imej PNG kepada Pengekodan Base-64 untuk URI Data CSS dalam Python?

Bagaimana untuk Menukar Imej PNG kepada Pengekodan Base-64 untuk URI Data CSS dalam Python?

DDD
DDDasal
2024-10-30 12:32:38300semak imbas

How to Convert a PNG Image to Base-64 Encoding for CSS Data URIs in Python?

Membenamkan Imej PNG dalam CSS Menggunakan Pengekodan Base-64

Soalan:

Bagaimana saya boleh menukar imej PNG kepada format dikodkan base-64 untuk digunakan sebagai URI data dalam lembaran gaya CSS?

Penyelesaian Baris Perintah Unix:

Malangnya, soalan ini tidak boleh diselesaikan menggunakan penyelesaian baris arahan Unix.

Penyelesaian Berasaskan Python:

Jawapan:

Untuk menukar imej PNG kepada format berkod base-64 dalam Python, ikut langkah berikut:

  1. Import modul base64.
  2. Baca kandungan binari fail PNG menggunakan open(failpath, 'rb').read().
  3. Ekodkan data binari menggunakan base64 .b64encode(binary_fc).
  4. Nyahkodkan data yang dikodkan asas-64 kepada UTF-8 menggunakan nyahkod('utf-8').
  5. Tentukan sambungan fail imej PNG.
  6. Buat URI data menggunakan format berikut: data:image/{ext};base64,{base64_utf8_str}.

Contoh Kod:

<code class="python">import base64

binary_fc        = open(filepath, 'rb').read()  # fc aka file_content
base64_utf8_str   = base64.b64encode(binary_fc).decode('utf-8')
ext              = filepath.split('.')[-1]
dataurl          = f'data:image/{ext};base64,{base64_utf8_str}'</code>

Nota:

Ingat untuk memasukkan data awalan yang diperlukan:image/{ext};base64, agar URI data menjadi sah.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Imej PNG kepada Pengekodan Base-64 untuk URI Data CSS dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn