Base64 kepada Imej
Base64 kepada Imej ialah alat percuma yang menukar semula data imej berkod Base64 kepada imej.
Bagaimanakah Base64 mewakili imej?
Base64 mewakili imej dengan menukarkan bait binarinya kepada set aksara teks boleh cetak yang terhad. Kaedah ini digunakan kerana sesetengah sistem direka untuk membawa teks dan bukannya data binari mentah. Dengan mengekod bait tersebut, data lebih mudah dimasukkan ke dalam e-mel, JSON, HTML atau format berasaskan teks yang lain.
Abjad Base64 standard menggunakan huruf besar, huruf kecil, angka, tanda tambah dan garis miring. Tanda sama dengan mungkin muncul di hujung sebagai pelapik. Setiap tiga bait input biasanya menjadi empat aksara Base64, jadi bentuk berkod itu kira-kira satu pertiga lebih besar daripada data asal.
Contoh teks ringkas ini menunjukkan proses tersebut dengan jelas:
- Bait asal yang ditafsirkan sebagai teks: Man
- Output Base64: TWFu
Imej melalui proses yang sama, tetapi bait asalnya menerangkan format PNG, JPEG, GIF, WebP atau format imej lain, bukannya teks yang boleh dibaca. Base64 mentah tidak menyatakan jenis imej. Maklumat itu mungkin disertakan dalam URL data atau dikenal pasti daripada tandatangan fail selepas penyahkodan.
Bagaimanakah cara menukar Base64 kembali kepada imej?
Tampal data imej Base64 ke dalam alat ini, kemudian hantar untuk ditukar. Hasil yang dikembalikan ialah imej. Sebelum itu, semak sama ada nilai tersebut ialah Base64 mentah atau URL data yang lengkap.
- Cari nilai berkod dan salin tanpa tanda petik di sekelilingnya daripada JSON, CSS atau kod sumber.
- Cari awalan URL data seperti data:image/png;base64,. Muatan Base64 sebenar bermula selepas koma.
- Jika URL data lengkap ditolak, buang awalan dan hantar muatan berkod sahaja kerana penyahkod berbeza dari segi penerimaan pembalut tersebut.
- Pastikan imej yang terhasil mempunyai kandungan, dimensi dan format yang dijangkakan sebelum menggunakannya di tempat lain.
Ruang dan pemisah baris kadangkala muncul apabila perisian e-mel membalut nilai Base64 yang panjang. Sesetengah penyahkod mengabaikan ruang kosong ini, manakala penyahkod yang lebih ketat akan menolaknya. Jangan tambahkan tanda baca atau teks penerangan pada muatan. Angka ialah aksara Base64 yang sah, tetapi rentetan yang hanya terdiri daripada aksara sah tidak semestinya mengandungi imej.
Nilai Base64 kosong mewakili sifar bait, jadi nilai itu tidak boleh menghasilkan imej yang boleh digunakan. Nilai yang sangat panjang juga memakan banyak ruang kerana Base64 membesarkan data asal, manakala pemprosesannya memerlukan keseluruhan rentetan berkod dipindahkan dan dinyahkod.
Mengapakah imej Base64 saya tidak dapat dinyahkod?
Imej Base64 biasanya gagal dinyahkod kerana teksnya rosak atau tidak lengkap, menggunakan abjad yang salah atau tidak mengandungi bait imej. Jika sumber mengekodnya lebih daripada sekali, pengekodan berganda juga mungkin menjadi puncanya. Kedudukan dan bentuk ralat boleh membantu anda mengenal pasti sebab kegagalan.
- Input terpotong. Apabila menyalin daripada log, pemapar pangkalan data atau sistem pemesejan, penghujung nilai yang panjang mungkin terpotong. Aksara yang hilang biasanya menyebabkan bait yang dinyahkod menjadi tidak lengkap.
- Varian atau abjad yang salah. Base64 standard menggunakan + dan /, manakala Base64url lazimnya menggunakan - dan _. Penyahkod yang menjangkakan varian lain mungkin menolak input tersebut.
- Pelapik tiada. Nilai Base64 mungkin berakhir dengan satu atau dua tanda sama dengan. Sesetengah sistem tidak menyertakan pelapik ini dan sesetengah penyahkod membinanya semula, tetapi pelaksanaan yang ketat mungkin mewajibkannya.
- Data binari yang bukan imej. Base64 boleh mewakili PDF, arkib, fon atau sebarang bait lain. Oleh itu, Base64 yang sah tidak menjamin bahawa kandungannya ialah imej yang sah.
- Kekeliruan pengekodan teks. Huruf beraksen, emoji dan aksara bukan Latin bukan sebahagian daripada abjad Base64. Aksara tersebut perlu diwakili sebagai bait terlebih dahulu, lazimnya menggunakan UTF-8, sebelum dikodkan dalam Base64.
- Pengekodan berganda. Jika penyahkodan pertama menghasilkan satu lagi rentetan panjang yang hanya mengandungi aksara Base64, sumber itu mungkin telah dikodkan dua kali. Nyahkod nilai perantaraan sekali lagi hanya jika asalnya mengesahkan bahawa hasil ini memang dijangkakan.
Jika penyahkod Base64 umum menghasilkan aksara yang tidak dapat difahami, itu tidak semestinya bermakna penyahkodan telah gagal. Bait imej ialah data binari dan memang tidak dijangka kelihatan seperti teks yang boleh dibaca. Gunakan Penyahkod Base64 apabila anda perlu memeriksa muatan bukan imej, dan gunakan Imej kepada Base64 apabila anda perlu menjalankan proses sebaliknya.
Di manakah data imej Base64 digunakan?
Data imej Base64 digunakan apabila fail binari perlu dihantar melalui medan atau dokumen yang berorientasikan teks. Antara contoh biasa ialah imej terbenam dalam URL data HTML atau CSS, sifat imej dalam muatan API JSON dan bahagian e-mel MIME.
Data ini juga boleh muncul dalam rentetan pertanyaan. Dalam keadaan ini, penghurai pertanyaan aplikasi mungkin tersalah mengendalikan aksara Base64 standard, terutamanya penghurai gaya borang yang menganggap tanda tambah sebagai ruang atau tanda sama dengan sebagai pembatas. Base64url menggantikan aksara abjad yang bermasalah dan lazimnya tidak menyertakan pelapik, menjadikannya lebih sesuai untuk URL dan token.
Nama domain antarabangsa tidak menggunakan Base64. Dalam sistem IDNA, label ASCII tidak berubah, manakala U-label bukan ASCII boleh diwakili sebagai A-label menggunakan Punycode. Nilai Base64 mungkin muncul di bahagian lain URL, seperti rentetan pertanyaannya. Perbezaan ini penting apabila anda mendiagnosis nilai yang disalin daripada alamat pelayar.
JSON tidak mempunyai jenis binari asli, jadi API kadangkala meletakkan kandungan imej Base64 di dalam rentetan bertanda petik. Kaedah ini memudahkan pertukaran berasaskan teks, tetapi meningkatkan saiz muatan. Untuk muat naik yang besar atau kerap, muat naik fail binari biasa selalunya lebih sesuai.
Pengekodan Base64, kerahsiaan dan pemprosesan pelayan
Base64 ialah pengekodan, bukannya penyulitan, dan tidak memberikan sebarang kerahsiaan. Sesiapa sahaja yang memiliki nilai itu boleh menyahkodnya tanpa kata laluan atau kunci. Oleh itu, jangan lindungi bukti kelayakan, gambar peribadi dan dokumen sulit hanya dengan menukarkannya kepada Base64.
Untuk alat ini, pemprosesan dilakukan pada pelayan. Input anda dihantar ke pelayan melalui HTTPS dan tidak disimpan. HTTPS melindungi sambungan semasa data sedang dihantar, tetapi tidak menjadikan nilai Base64 sebagai kandungan yang disulitkan atau menjadikan sumber yang tidak dipercayai selamat.
Penyahkodan juga tidak memeriksa sama ada imej itu selamat. Kendalikan imej yang dinyahkod daripada nilai Base64 yang diterima daripada pengirim tidak dikenali dengan tahap berhati-hati yang sama seperti imej lain yang dimuat turun.
Soalan lazim
Bolehkah saya mengenal pasti format imej daripada Base64 mentah?
Kadangkala boleh, tetapi abjad Base64 sahaja tidak menyatakan format. Fail yang dinyahkod mengandungi tandatangan, yang sering dipanggil bait ajaib, dan perisian boleh menggunakannya untuk membezakan format seperti PNG, JPEG dan GIF. URL data juga mungkin menyatakan jenis media, tetapi label itu boleh tersilap dan tidak sepatutnya mengatasi maklumat dalam bait sebenar.
Adakah penyahkodan Base64 mengurangkan kualiti imej?
Tidak. Penyahkodan Base64 yang betul memulihkan bait asal dan tidak memampatkan semula imej. Kualiti imej, data warna dan metadata terbenam kekal tidak berubah, melainkan program lain kemudian menyunting atau menukar fail yang telah dinyahkod.
Bolehkah Base64 mengandungi imej SVG?
Ya, data SVG boleh dikodkan dalam Base64, tetapi sokongan untuk memaparkannya bergantung pada perisian penerima. SVG ialah format berasaskan XML dan boleh mengandungi skrip, pautan atau rujukan luaran. Oleh itu, jangan anggap SVG berkod Base64 daripada sumber tidak dikenali selamat untuk dibuka.
Mengapakah imej Base64 lebih besar daripada fail asal?
Base64 menghasilkan empat aksara teks bagi setiap tiga bait data sumber, dan kuantum terakhir mungkin mengandungi pelapik. RFC 4648 mewajibkan pelapik melainkan spesifikasi yang merujuk kepadanya membenarkan pelapik ditinggalkan secara jelas. Oleh itu, hasilnya kira-kira satu pertiga lebih besar sebelum awalan URL data, tanda petik JSON atau overhed penghantaran ditambahkan. Jika sistem menerima muat naik fail biasa, menghantar imej binari asal lazimnya menggunakan kurang data.
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.