Rumah > Java > javaTutorial > Mengapa URLEncoder Mengekodkan Ruang sebagai ' ' Bukannya ' '?

Mengapa URLEncoder Mengekodkan Ruang sebagai ' ' Bukannya ' '?

DDD
Lepaskan: 2024-11-11 06:47:02
asal
893 orang telah melayarinya

Why Does URLEncoder Encode Spaces as ' ' Instead of ' '?

URLEncoder Conundrum: Memahami Pengekodan Aksara Ruang

Apabila cuba mengekod rentetan menggunakan URLEncoder, anda mungkin menghadapi tingkah laku yang tidak dijangka di mana ruang ditukar kepada simbol ' ' dan bukannya heksadesimal yang dijangkakan kod.

Sebab

Kelas URLEncoder mematuhi Spesifikasi HTML untuk pengekodan URL dalam bentuk HTML. Mengikut spesifikasi ini, ruang hendaklah digantikan dengan simbol ' ' untuk parameter dalam format MIME application/x-www-form-urlencoded.

Penyelesaian

Untuk mencapai pengekodan yang dikehendaki di mana ruang ditukar kepada ' ', anda boleh melakukan langkah berikut:

String encodedString = java.net.URLEncoder.encode("Hello World", "UTF-8");
encodedString = encodedString.replace("+", "%20");
Salin selepas log masuk

Ini akan menggantikan semua simbol ' ' dengan ' ', menghasilkan pengekodan yang betul mengikut jangkaan anda.

Atas ialah kandungan terperinci Mengapa URLEncoder Mengekodkan Ruang sebagai ' ' Bukannya ' '?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan