Dalam pembangunan web, bahasa back-end PHP adalah salah satu bahasa yang paling biasa. Penukaran format data yang terlibat juga sangat biasa, antaranya Base64 adalah kaedah yang sering digunakan untuk mengekod data binari. Untuk memuat naik fail, pemprosesan imej dan senario lain dalam pembangunan web, kami perlu menukar data dalam format Base64 kepada aliran binari. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menukar data dalam format Base64 kepada aliran binari.
1. Apakah pengekodan Base64?
Base64 ialah kaedah pengekodan yang boleh mengekod data binari ke dalam aksara ASCII Ia sering digunakan dalam senario seperti penghantaran e-mel, penghantaran protokol HTTP dan storan yang disulitkan. Prinsip utama pengekodan Base64 adalah untuk menukar tiga bait 8-bit kepada empat kata kod 6-bit dan mengisinya dengan aksara "=". Memandangkan beberapa aksara khas dialih keluar daripada 64 kata kod, ia dipanggil pengekodan Base64.
2. Bagaimana untuk mengekod/menyahkod Base64?
Dalam pemprosesan PHP, pengekodan/penyahkod Base64 boleh terus menggunakan fungsi terbina dalam. Untuk rentetan, anda boleh menggunakan base64_encode() untuk mengekodnya. Untuk data berkod Base64, anda boleh menggunakan base64_decode() untuk menyahkodnya.
Sebagai contoh, coretan kod berikut melaksanakan pengekodan dan penyahkodan rentetan.
$str = "hello world";
echo base64_encode($str); // Output aGVsbG8gd29ybGQ=
echo base64_decode("aGVsbG8gd29); Output hello world
?>
3. Bagaimana untuk menukar data dalam format Base64 kepada strim binari?
Dalam PHP, untuk data dalam format Base64, kita boleh menggunakan fungsi base64_decode() untuk menyahkod dan menyimpan data yang dinyahkod. Mengambil storan imej sebagai contoh, kita perlu menukar data dalam format Base64 ke dalam aliran binari (iaitu, fail binari).
Coretan kod berikut menunjukkan cara menyimpan data imej dalam format Base64 ke dalam fail setempat. < AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwGgAAQAA8MoMOQAAIABJREFU3rNl3X1sldW+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+ s+ /s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s+/s2mJ0zKOmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZt5 fnu/0 BKbV7fj+gmBwOdA2nnn2 /v8WPsB41EvXr81q3UKqrq56r440WfI5J5 +5fjGdeua556PLlW5P6fdXNL6C19ve6/Kvpt6Xi5eJhZsaGTUUQEB/gVgcF+g1ZeJpJZy+e9jEJpJZy+e9JpJZy+e9JpJZy+e9JpJZZy+e9JpJZZy+e9eJpJZyl tghgRPV7JF9X+TtTwwwuPtPwmBwOdA2nlm12mWLOx Ifm2ouq+195LFy9Xp8Wf/uAHMvZtvfWXzc5N5d8/j5GZHfmNFRMUFBQQR6dddXJrze/v/1SUP 6X+B9iggUFhYKCgoyMjAIKApVVFRgR8evRQHxvXE 3N3r6qqqpyx8fHBYGCgoKyswMwrIk+dNBqNRqNjo7EQICgrK29mSEhJoJmYmBAQEAu0DQw2NcOn vjYaGh4c3qNSHR4fzxoLj4+Kh4cVlZWeYGFYC7QNKyQ kFBQVcaMGMAnQNKbVTh8dL1ePV7Cw8Ofn5+xlW5fcvvykpKELZpN5i5PT5W5duvU6eWvaqyobyGoj 8qtg2MzPz3K5Xr9WmzatEsstISejXL169fmzJljDaWlp b8QvTKywPypWrj9XrVmJSUlISEgIAAAAABJRU5ErkJggg==";
$file_path = " test.png";$binary_data = base64_decode(str_replace('data:image/png;base64,', '', $base64_image));
$file = fopen($file_path , "wb");
fwrite($file, $binary_data);
fclose($file);
?>
Menghuraikan kod berikut:
Atas ialah kandungan terperinci php base64 kepada aliran binari. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!