Rumah >pembangunan bahagian belakang >masalah PHP >php base64 kepada aliran binari

php base64 kepada aliran binari

王林
王林asal
2023-05-06 13:42:071474semak imbas

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:

Mula-mula mentakrifkan format Base64 Rentetan $base64_image dan mentakrifkan nama fail (test.png) tempat fail akan disimpan. Kemudian, panggil fungsi str_replace() untuk menggantikan data:image/png;base64, rentetan dalam pengepala rentetan berformat Base64 tanpa apa-apa dan tukarkannya kepada data binari.

Seterusnya, tentukan nama fail di mana fail akan disimpan, buka fail untuk membaca dan menulis, tulis data binari yang sepadan, dan akhirnya tutup fail.

Dengan cara ini, proses menukar data imej dalam format Base64 kepada strim binari dan menyimpannya dalam fail tempatan direalisasikan.

4. Ringkasan

Artikel ini terutamanya memperkenalkan cara menukar data format Base64 kepada aliran binari dalam PHP. Pengekodan Base64 mempunyai pelbagai senario aplikasi dalam pembangunan web Untuk sesetengah senario yang memerlukan penghantaran atau penyimpanan data binari, memahami pengekodan Base64 adalah sangat penting. Saya berharap pembaca akan mempunyai pemahaman yang lebih mendalam tentang pengekodan Base64 dan pemahaman yang lebih baik tentang penggunaannya dalam aplikasi praktikal melalui mengkaji artikel ini.

Atas ialah kandungan terperinci php base64 kepada aliran binari. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn