Pengekodan Base64

Dengan alat Pengekodan Base64, anda boleh menyulitkan teks yang anda masukkan dengan kaedah Base64. Jika anda mahu, anda boleh menyahkod kod Base64 yang disulitkan dengan alat Nyahkod Base64.

Apakah Pengekodan Base64?

Pengekodan Base64 ialah skim pengekodan yang membenarkan data perduaan diangkut pada persekitaran yang hanya menggunakan beberapa pengekodan aksara terhad (persekitaran yang tidak semua kod aksara boleh digunakan, seperti xml, html, skrip, aplikasi pemesejan segera). Bilangan aksara dalam skema ini ialah 64, dan nombor 64 dalam perkataan Base64 berasal dari sini.

Mengapa Menggunakan Pengekodan Base64?

Keperluan untuk pengekodan Base64 berpunca daripada masalah yang timbul apabila media dihantar dalam format binari mentah kepada sistem berasaskan teks. Oleh kerana sistem berasaskan teks (seperti e-mel) mentafsir data binari sebagai pelbagai aksara, termasuk aksara arahan khas, kebanyakan data binari yang dihantar ke medium pemindahan disalahtafsirkan oleh sistem ini dan hilang atau rosak dalam penghantaran proses.

Satu kaedah pengekodan data binari sedemikian dengan cara yang mengelakkan masalah penghantaran sedemikian adalah dengan menghantarnya sebagai teks ASCII biasa dalam format yang dikodkan Base64. Ini adalah salah satu teknik yang digunakan oleh standard MIME untuk menghantar data selain daripada teks biasa. Banyak bahasa pengaturcaraan, seperti PHP dan Javascript, termasuk pengekodan dan penyahkodan Base64 untuk mentafsir data yang dihantar menggunakan pengekodan Base64.

Logik Pengekodan Base64

Dalam pengekodan Base64, 3 * 8 bit = 24 bit data yang terdiri daripada 3 bait dibahagikan kepada 4 kumpulan 6 bit. Aksara yang sepadan dengan nilai perpuluhan antara [0-64] daripada 4 kumpulan 6-bit ini dipadankan daripada jadual Base64 untuk mengekod. Bilangan aksara yang diperolehi hasil pengekodan Base64 mestilah gandaan 4. Data berkod yang bukan gandaan 4 bukan data Base64 yang sah. Apabila pengekodan dengan algoritma Base64, apabila pengekodan selesai, jika panjang data bukan gandaan 4, aksara "=" (sama) ditambahkan pada penghujung pengekodan sehingga ia adalah gandaan 4. Sebagai contoh, jika kita mempunyai data yang dikodkan Base64 10 aksara hasil daripada pengekodan, dua "==" harus ditambah pada penghujungnya.

Contoh Pengekodan Base64

Sebagai contoh, ambil tiga nombor ASCII 155, 162 dan 233. Ketiga-tiga nombor ini membentuk aliran binari 100110111010001011101001. Fail binari seperti imej mengandungi aliran binari yang berfungsi untuk puluhan atau ratusan ribu sifar dan satu. Pengekod Base64 bermula dengan membahagikan aliran binari kepada kumpulan enam aksara: 100110 111010 001011 101001. Setiap pengelompokan ini diterjemahkan kepada nombor 38, 58, 11 dan 41. Strim binari enam aksara ditukar antara binari (atau asas). 2) kepada aksara perpuluhan (asas-10) dengan mengkuadangkan setiap nilai yang diwakili oleh 1 dalam tatasusunan binari oleh segi empat sama kedudukan. Bermula dari kanan dan bergerak ke kiri dan bermula pada sifar, nilai dalam aliran binari mewakili 2^0, kemudian 2^1, kemudian 2^2, kemudian 2^3, kemudian 2^4, kemudian 2^ 5.

Berikut adalah cara lain untuk melihatnya. Bermula dari kiri, setiap kedudukan bernilai 1, 2, 4, 8, 16 dan 32. Jika slot mempunyai nombor binari 1, anda menambah nilai itu; jika slot mempunyai 0, anda tiada. Tatasusunan binari 100110 bertukar 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 perpuluhan + 4 + 0 + 0 + 32. Pengekodan Base64 mengambil rentetan binari ini dan membahagikannya kepada nilai 6-bit 38, 58, 11 dan 41. Akhir sekali, nombor ini ditukar kepada aksara ASCII menggunakan jadual pengekodan Base64.