Imej kepada Base64
Imej kepada Base64 ialah alat percuma yang menukar fail imej kepada rentetan teks berkod Base64.
Apakah Base64 dan mengapa ia digunakan?
Untuk imej yang dimuat naik, Base64 menyediakan pengekodan binari kepada teks supaya datanya boleh dihantar melalui sistem yang kebanyakannya direka untuk teks. Setiap tiga bait data sumber diwakili oleh empat aksara boleh cetak daripada set aksara yang ditetapkan.
Kaedah ini berguna apabila sesuatu format tidak dapat membawa fail binari secara berasingan. Imej boleh dimasukkan ke dalam URL data, sifat JSON atau bahagian e-mel MIME tanpa melampirkan bait asal dalam bentuk binari biasa. Rentetan Base64 yang dijana dikodkan, bukannya disulitkan. Sesiapa yang memperoleh rentetan itu boleh menyahkodnya, jadi Base64 tidak menyediakan kerahsiaan atau kawalan akses.
Contoh ringkas yang menggunakan bait teks menunjukkan cara proses ini berfungsi.
- Teks input ialah <svg></svg>
- Output Base64 ialah PHN2Zz48L3N2Zz4=
Kebanyakan imej mengandungi bait binari dan bukannya penanda yang boleh dibaca, jadi inputnya tidak akan kelihatan seperti contoh teks ini. Prinsipnya tetap sama untuk PNG, JPEG, GIF, WebP dan format imej lain.
Bagaimanakah cara menukar imej kepada Base64?
Masukkan imej sebagai input alat, jalankan penukaran dan salin nilai yang dipaparkan dalam medan Dikodkan Base64. Alat ini menggunakan fungsi base64_encode PHP pada data imej.
- Pilih imej yang perlu diwakili sebagai teks.
- Tunggu sehingga halaman selesai memproses fail dan memaparkan nilai yang dikodkan.
- Salin keseluruhan rentetan, termasuk sebarang tanda sama dengan di hujungnya.
- Tambahkan sintaks pembungkus yang berkaitan jika destinasi memerlukan URL data, nilai JSON atau bekas lain.
Pemprosesan dilakukan pada pelayan. Imej anda dihantar ke pelayan melalui HTTPS dan tidak disimpan. Oleh sebab pemprosesan berlaku pada pelayan, jangan anggap fail tersebut kekal pada peranti anda sepanjang proses penukaran.
Bagaimanakah rentetan Base64 yang terhasil patut digunakan?
Gunakan rentetan itu sebagai Base64 mentah atau letakkannya dalam sintaks yang diperlukan oleh sistem penerima. Base64 sahaja tidak mengenal pasti format imej, nama fail, dimensi atau tujuan penggunaannya.
Untuk URL data HTML atau CSS, nilai yang dikodkan biasanya diletakkan selepas jenis media dan penanda Base64. URL data PNG bermula dalam bentuk data:image/png;base64,, kemudian diikuti serta-merta oleh rentetan tersebut. JPEG menggunakan image/jpeg, manakala SVG lazimnya menggunakan image/svg+xml. Pemilihan jenis media yang salah boleh menyebabkan perisian gagal memaparkan imej walaupun imej itu sah.
Dalam JSON, Base64 biasanya disimpan sebagai rentetan dalam tanda petik, selalunya bersama medan berasingan yang mengenal pasti jenis media. Jangan tambahkan awalan URL data apabila API meminta Base64 mentah secara khusus. Baca dokumentasi API sebelum menggunakan nilai yang diberikan oleh alat ini kerana kedua-dua jenis input tersebut tidak boleh digunakan secara bersilih ganti.
Di manakah Base64 digunakan dalam sistem sebenar?
Base64 lazimnya digunakan apabila data binari perlu dihantar melalui format atau protokol berasaskan teks. Antara kegunaan biasa ialah:
- URL data yang dibenamkan dalam HTML, CSS atau dokumen yang dijana.
- Muatan JSON yang dihantar kepada API yang menerima kandungan imej dalam sifat teks.
- Mesej e-mel, apabila MIME mengekodkan lampiran dan imej sebaris sebagai Base64.
- Rentetan pertanyaan, walaupun aksara Base64 standard mungkin turut memerlukan pengekodan URL.
- Fail konfigurasi dan dokumen XML yang tidak boleh mengandungi sebarang bait binari secara langsung.
Nama domain berantarabangsa juga melibatkan penukaran data kepada set aksara terhad, tetapi menggunakan Punycode dan bukannya Base64. Bagi nilai yang dimasukkan ke dalam URL, Pengekod URL mungkin turut diperlukan kerana Base64 standard boleh mengandungi tanda tambah, garis miring dan tanda sama dengan.
Mengapakah penyahkodan Base64 gagal atau menghasilkan aksara yang tidak dapat difahami?
Penyahkodan boleh gagal jika input mengandungi awalan yang turut disalin, telah rosak atau terpotong, atau tidak sepadan dengan format Base64 yang dijangka oleh penyahkod. Aksara yang tidak dapat difahami selalunya bermaksud data binari imej yang sah telah dinyahkod, kemudian dipaparkan secara salah sebagai teks biasa.
- Awalan yang turut disalin boleh menyebabkan kegagalan apabila penyahkod hanya menerima Base64. Buang teks seperti data:image/png;base64, sebelum menggunakan penyahkod Base64 mentah.
- Input yang rosak atau terpotong mungkin dinyahkod menjadi imej tidak lengkap yang tidak dapat dibuka oleh pemapar.
- Pengekodan berganda menghasilkan satu lagi rentetan Base64 selepas penyahkodan pertama. Penyahkodan kali kedua mungkin diperlukan jika sumber mengekodkan nilai yang sudah dikodkan.
- Set aksara yang salah boleh menyebabkan ralat jika penyahkod menjangkakan varian lain. Base64url menggunakan tanda sempang dan garis bawah di tempat tanda tambah dan garis miring yang digunakan oleh Base64 standard.
- Pelapik yang tiada boleh menjejaskan penyahkod yang ketat. Base64 standard mungkin berakhir dengan satu atau dua tanda sama dengan, walaupun sesetengah sistem sengaja menggugurkannya.
Jika hasil penyahkodan ialah data binari, simpan data itu menggunakan jenis imej yang betul dan jangan membukanya dalam penyunting teks. Penyahkod Base64 atau alat Base64 kepada Imej boleh membantu melakukan proses sebaliknya, dengan syarat rentetan tersebut lengkap dan menggunakan format yang dijangka.
Pilihan format dan input yang rumit
Base64 standard sesuai untuk e-mel, URL data dan sistem yang memintanya secara khusus. Untuk laluan URL, parameter pertanyaan dan token, gunakan varian yang diperlukan oleh sistem penerima. Base64url mungkin sesuai jika spesifikasinya menetapkan penggunaan varian tersebut. Alat ini menggunakan operasi base64_encode standard PHP, jadi jangan anggap hasilnya ialah Base64url.
Alat ini mengekodkan bait imej yang dimuat naik. Ruang, tanda baca, nombor, aksara beraksen dan teks bukan Latin dalam SVG atau metadata imej dikodkan sebagai sebahagian daripada bait tersebut. Nama fail yang mengandungi aksara sedemikian adalah berasingan daripada kandungan fail dan tidak semestinya diwakili oleh Base64.
Dalam PHP, base64_encode mengembalikan nilai kosong untuk rentetan bait kosong. Fail yang panjang menghasilkan rentetan yang panjang, dan Base64 menambah kira-kira satu pertiga pada bilangan bait asal sebelum mengambil kira sebarang sintaks pembungkus JSON atau URL data. Base64 tidak memampatkan imej, meningkatkan kualitinya atau mengubah dimensi pikselnya.
Soalan lazim
Bolehkah imej Base64 dimasukkan terus ke dalam CSS?
Ya, sifat CSS yang menerima URL imej boleh menggunakan URL data yang dibentuk dengan betul. Kaedah ini sesuai untuk aset kecil dan serba lengkap, tetapi imej terbenam yang lebih besar akan menambah saiz helaian gaya dan tidak boleh dicache secara berasingan daripada fail CSS.
Mengapakah rentetan Base64 saya mengandungi pemisah baris?
Alat ini memberikan nilai tanpa pemisah kerana base64_encode PHP tidak menyisipkan pemisah baris. Pemisah tersebut menunjukkan bahawa penyalinan atau pemprosesan lanjutan berlaku di tempat lain. Banyak penyahkod mengabaikan ruang putih, tetapi API yang ketat mungkin menolaknya. Oleh itu, gunakan rentetan tanpa pemisah apabila spesifikasi sistem penerima menetapkannya.
Adakah nilai Base64 berubah jika nama fail imej ditukar?
Base64 mewakili bait fail, bukannya nama fail. Oleh itu, menamakan semula fail yang tidak diubah tidak akan menukar hasil pengekodannya. Namun, menyunting metadata, menyimpan semula imej atau menukar formatnya akan mengubah bait dan menghasilkan rentetan yang berbeza.
Bolehkah Base64 melindungi imej peribadi?
Tidak, Base64 boleh diterbalikkan tanpa kata laluan atau kunci rahsia. Gunakan penyulitan, pengesahan dan kawalan akses yang sesuai untuk bahan sulit. Ingat juga bahawa alat ini menghantar imej ke pelayannya melalui HTTPS untuk diproses.
Bagaimanakah saya boleh memastikan penukaran berjaya?
Nyahkod keseluruhan rentetan, kemudian buka hasilnya menggunakan pemapar imej yang menyokong format asal. Pastikan dimensi dan kandungan yang dipaparkan sepadan dengan sumber. Kekalkan sebarang aksara pelapik di hujung rentetan melainkan sistem destinasi secara khusus meminta aksara tersebut dibuang.
Alat serupa
Alat popular
Jana tandatangan tersuai anda sendiri dengan mudah dan muat turunnya dengan mudah.
Gunakan alat ping kami untuk menyemak status dan masa tindak balas mana-mana laman web, pelayan atau port dengan cepat dan cekap.
Alat carian IP Digily Link memberikan maklumat terperinci tentang mana-mana alamat IP. Gunakan perkhidmatan dalam talian percuma ini untuk mendapatkan data IP yang menyeluruh.
Jana pautan WhatsApp percuma anda serta-merta dengan Penjana Pautan WhatsApp kami. Tambah mesej tersuai dan mulakan sembang dengan satu klik, tanpa perlu log masuk atau menulis kod.