Rentetan base64 ialah cara pengekodan data binari (seperti imej, audio atau fail) ke dalam format teks. Ini berguna untuk menghantar data melalui medium yang direka untuk mengendalikan teks (seperti JSON atau XML) atau untuk membenamkan data binari terus ke halaman web.
Mengapa Pengekodan Base64?
-
Mesra Teks: Data binari seperti imej tidak boleh disertakan dalam JSON atau HTML secara langsung kerana ia mengandungi aksara bukan teks. Base64 menukarkannya kepada format berasaskan teks yang selamat.
-
Sokongan Universal: Rentetan Base64 boleh dihantar dan diproses merentasi sistem dan platform tanpa masalah keserasian.
Bagaimana Base64 Berfungsi
Base64 mewakili data binari sebagai jujukan aksara ASCII. Ia melakukan ini dengan membahagikan data perduaan kepada ketulan 6 bit (memandangkan ASCII menggunakan 64 aksara boleh dicetak) dan kemudian memetakan bongkah tersebut kepada set pratakrif 64 aksara ASCII.
Contohnya:
- Data binari: 01001000 01000101 01001100 01001100 01001111
- Pengekodan Base64: SGVMT0
Kes Penggunaan Biasa
-
Membenamkan Imej dalam HTML:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."/>
Salin selepas log masuk
-
Menyimpan Imej dalam JSON:
{
"image": "iVBORw0KGgoAAAANSUhEUgAAAAUA..."
}
Salin selepas log masuk
-
Pengekodan Fail untuk Penghantaran:
Pengekodan Base64 memastikan fail kekal utuh apabila dihantar melalui protokol berasaskan teks seperti HTTP atau SMTP.
Contoh Base64 dalam Python
import base64
# Encode a string to base64
data = "Hello, World!"
encoded = base64.b64encode(data.encode())
print(encoded) # Output: b'SGVsbG8sIFdvcmxkIQ=='
# Decode a base64 string
decoded = base64.b64decode(encoded).decode()
print(decoded) # Output: "Hello, World!"
Salin selepas log masuk
Ciri-ciri Rentetan Base64
-
Padding: Rentetan Base64 selalunya berakhir dengan = atau == untuk memastikan panjang rentetan yang dikodkan boleh dibahagikan dengan 4.
-
Peluasan Panjang: Base64 meningkatkan saiz data asal kira-kira 33%. Sebagai contoh, urutan perduaan 3-bait menjadi 4 aksara asas64.
Atas ialah kandungan terperinci Apakah basestring dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!