Base64 vs URL Encoding: Unicode, Plus signal dan Double Encoding

Inspeksi pengkodean teks tanpa memperlakukan Base64 sebagai enkripsi atau pengkodean sebuah URL lengkap sebagai satu komponen.

Mengidentifikasi format masukan pertama

Nilai yang disalin mungkin Base64, URL-safe Base64 sebuah komponen berkode persen atau teks biasa. Lihatlah sistem yang memproduksinya dan medan tujuan sebelum memilih decoder. Token yang berisi isi tersandi tidak dilindungi hanya karena sulit untuk dibaca. Jangan mempublikasikan nilai rahasia ketika debug; gunakan contoh fiksional kecil dengan konvensi pengkodean yang sama.

Menghasilkan kembali perjalanan keliling UTF-8 Base64

Enkoder Base64 's default Hello, dunia! menjadi SGVsbG8sIHdvcmxkIQ = =. Teks dikonversi ke UTF-8 bytes pertama sehingga bukan-ASCII teks dan emoji bekerja dengan benar. Keluaran standar memakai + dan / dengan padding; URL-safe keluaran menggunakan - dan _ dan mengomits padding. Decoder cek alfabet dan canonical padding bit dan membutuhkan hasil bytes untuk membentuk teks UTF-8 yang valid. Mode ini bukan sebuah binary- file viewer sewenang-wenang.

Enkode nilai satu URL

The URL contoh komponen teh & kopi / 50% menjadi teh%20%26% 20kopi%20% 2F%2050%25. Mereka lolos melestarikan karakter di dalam satu nilai query atau segmen path. Menerapkan pengkodean komponen ke seluruh URL juga akan melarikan diri dari pemisah strukturnya. Tempatkan hasil ke komponen yang benar daripada mengobati sebuah terkode lengkap URL sebagai sudah- to- buka navigasi. % escape salah bentuk dan tidak valid UTF-8 menghasilkan kesalahan lapangan.

Tiga transformasi yang terlihat sama
PilihanContohTujuan
Base64 StandarHalo, dunia!Represent UTF-8 bytes
Pengkodean komponen URLA & B karakter%20%26% 20BEscape satu nilai URL
Pengkodean ruang-formulira + b 1f a bInterpret form- encoded query space
Sastra - plus decodinga + b 1f a + bSimpan karakter ditambah aktual

Tidak ada kunci rahasia atau kerahasiaan yang disediakan oleh pengkodean ini.

Base64 encoder mengubah fiksi Hello, dunia! teks ke standar Base64.
Pengkodean UTF-8 yang dapat dikembalikan, bukan enkripsi. Diambil pada .

Gunakan contoh ini Buka Enkoder Base64 dan decoder dengan masukan ini.

Pilih bagaimana tanda plus dibaca

Decode a + b% 20c dengan Literal plus dan itu menjadi sebuah + b c. Dengan ruang Form itu menjadi b c, karena nilai pencarian tersandi -nilai konvensional gunakan + untuk spasi. Alat yang membuat pilihan eksplisit. Nilai seperti% 2520 berisi tanda berkode persen: decoding sekali memberikan% 20, sedangkan decode kedua memberikan ruang. Jangan berulang kali decode string tidak dikenal sampai terjadi terlihat akrab.

Periksa batas daripada penampilan

Simpan nilai aslinya, produksi sistem dan tujuan yang dimaksudkan selain hasil. Uji perjalanan keliling dengan string fiksi yang berisi Unicode, spasi, +, /, & dan%. Konfirmasikan bagaimana sistem penerima mengharapkan ruang padding dan query. Alat-alat ini dapat menjelaskan dan mengubah konvensi teks; mereka tidak memvalidasi token otentikasi, mendekripsi data yang dilindungi atau memutuskan apakah suatu nilai dekode aman untuk dijalankan.

Sumber dan bacaan lebih lanjut

Kembali ke puncak

Terus menjelajahi

Lebih banyak contoh untuk tugas kecil berikutnya.

Ramban semua artikel
Bantuan

Bagaimana kami dapat membantu?

Cari petunjuk, laporkan masalah, atau tinggalkan pesan.

Pertanyaan umum

Dari mana aku mulai? Cobalah contoh, kemudian mengganti nilai-nilainya dengan Anda.

Mengapa upload saya gagal? Periksa kesalahan ruas, format yang diterima dan batas ukuran berkas. Mulailah dengan sampel steril kecil.

Dimana hasil tesku? Tinjau panel hasil, lalu gunakan salinannya atau unduh kontrol. Jika perhitungan gagal, periksa kesalahan di samping masukan.

Pesan kami

Obrolan terbuka. Ini memproses pesan dan data koneksi Anda. Jangan tempel masukan pribadi atau isi berkas. Kemampuan dan respon bervariasi.