Daftar isi
Base64 memainkan peran penting dalam teknologi komputasi dan internet modern.
Encoding Base64 digunakan dalam OpenSSL, rahasia Kubernetes, aplikasi email, dan banyak teknologi lainnya.
Data biner dapat dikonversi menjadi karakter ASCII, seperti gambar dan dokumen, dikirimkan dengan aman melalui saluran berbasis teks seperti email dan URL.
SMTP menyampaikan pada Base64 karena dirancang untuk mengangkut karakter ASCII 7-bit untuk mengirim lampiran email.
Perkenalan
Pengkodean Base64 adalah teknik yang mengubah data biner menjadi karakter ASCII.
Dinamakan "Base64" karena menggunakan 64 kemungkinan nilai untuk mewakili data biner.
Dalam artikel ini, kami akan menjelaskan cara kerja pengkodean base64, cara mengkodekan dan mendekode data menggunakan base64, dan beberapa aplikasi umum pengkodean base64.
Sejarah pengkodean base64
Konsep pengkodean Base64 menelusuri sumbernya kembali ke masa awal komputasi ketika data biner perlu dikirim melalui saluran yang hanya mendukung teks.
Bagaimana Pengkodean Base64 Bekerja?
Pengkodean Base64 adalah metode yang digunakan untuk mengubah data biner menjadi format berbasis teks, sehingga cocok untuk transmisi yang aman dalam sistem yang menangani teks.
Mengapa Base64 bukan ASCII?
Pengkodean Base64 digunakan sebagai pengganti ASCII untuk tujuan tertentu di mana data biner perlu direpresentasikan dalam format teks yang kompak dan aman untuk transmisi melalui sistem yang berbeda.
- Representasi Data Biner: ASCII hanya dapat mewakili rentang karakter terbatas, terutama huruf, angka, dan simbol dasar bahasa Inggris.
- Kekompakan: Pengkodean Base64 menggunakan kumpulan karakter yang lebih besar (64 dibandingkan dengan ASCII 128) untuk mewakili jumlah data yang sama.
- Keamanan dalam Transmisi: Beberapa saluran, terutama yang dirancang untuk teks, dapat salah menafsirkan atau mengubah karakter kontrol ASCII tertentu selama transmisi.
- Konversi Biner ke Teks: Base64 dirancang khusus untuk mengonversi data biner ke dalam format teks.
- Standarisasi: Pengkodean Base64 distandarisasi secara luas dan konsisten di berbagai platform dan bahasa pemrograman.
Singkatnya, Base64 dipilih dibandingkan ASCII ketika ada kebutuhan untuk merepresentasikan data biner secara akurat, efisien, dan aman dalam bentuk tekstual, terutama dalam konteks di mana integritas, kekompakan, dan standarisasi data adalah hal yang terpenting.
Bagaimana cara menyandikan Base64 dengan Python?
Dengan Python, kami melakukan pengkodean Base64 dengan modul `base64`.
import base64
msg = "Hello world!"
encoded = base64.b64encode(bytes(msg, encoding='utf-8'))
print(encoded.decode('utf-8'))Mengimpor Modul base64
import base64
Kode dimulai dengan mengimpor modul base64, yang menyediakan fungsi untuk pengkodean dan decoding data dalam format Base64.
Mendefinisikan String Masukan
msg = "Hello world!"
Dalam ilustrasi ini, pesan masukan 'Halo dunia!'
Mengkodekan String ke Base64
encoded = base64.b64encode(bytes(msg, encoding='utf-8'))
Pada baris ini, fungsi bytes() mengonversi nilai variabel msg menjadi byte menggunakan encoding UTF-8.
Decoding dan Mencetak Data Base64
print(encoded.decode('utf-8'))Terakhir, data Base64 yang dikodekan didekodekan kembali menjadi string UTF-8 menggunakan encoded.decode('utf-8') dan dicetak.
Saat Anda menjalankan kode ini, kode ini akan menampilkan representasi Base64 dari string masukan "Halo dunia!".
Bagaimana cara melakukan pengkodean Base64 di PHP?
Dalam contoh PHP ini, kami mengeksplorasi konsep pengkodean Base64, sebuah teknik yang banyak digunakan dalam pengembangan web dan pemrosesan data.
<?php $msg = "Hello world!"; $encoded = base64_encode($msg); echo $encoded; ?>
Dalam skrip PHP ini, variabel $msg menampung string input "Halo dunia!" yang ingin kita enkode.
Pengkodean Base64 di Go (Golang)
Encoding Base64 di Go (atau Golang) sangatlah mudah berkat paket `encoding/base64` bawaan.
package main
import (
"encoding/base64"
"fmt"
)
func main() {
// The string to be encoded
message := "Hello, Golang Base64 Encoding!"
// Convert the string to bytes
messageBytes := []byte(message)
// Encode the bytes to Base64
encodedMessage := base64.StdEncoding.EncodeToString(messageBytes)
// Print the encoded Base64 string
fmt.Println(encodedMessage)
}Mengimpor Paket pengkodean/base64
Pertama, impor paket `encoding/base64` dalam kode Go Anda.
import (
"encoding/base64"
"fmt"
)Mengonversi String ke Byte
Sebelum melakukan pengkodean, string Anda perlu diubah menjadi potongan byte, karena pengkodean Base64 berfungsi pada data biner.
message := "Hello, Golang Base64 Encoding!" messageBytes := []byte(message)
Pada langkah ini, pesannya adalah string yang ingin Anda enkode.
Pengkodean ke Base64
Gunakan fungsi base64.StdEncoding.EncodeToString() untuk mengkodekan irisan byte ke dalam string Base64.
encodedMessage := base64.StdEncoding.EncodeToString(messageBytes)
Di sini, encodedMessage menyimpan string yang dikodekan Base64 yang dihasilkan.
Mencetak String yang Disandikan
Terakhir, Anda dapat mencetak string Base64 yang disandikan.
fmt.Println(encodedMessage)
Salin kode di atas dan jalankan program Go Anda;
Kesimpulan
Dalam artikel ini, kita telah mempelajari sejarah Base64, cara kerjanya, dan cara mengimplementasikan encoder base64 di Python dan PHP.