Sesuai jawaban ini di sini : str='foo%20%5B12%5D'
mengkodekan foo [12]
:
%20 is space
%5B is '['
and %5D is ']'
Ini disebut pengodean persen dan digunakan dalam pengodean karakter khusus dalam nilai parameter url.
EDIT Ngomong-ngomong ketika saya sedang membaca https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURI#Description , hanya terpikir oleh saya mengapa begitu banyak orang melakukan pencarian yang sama. Lihat catatan di bagian bawah halaman:
Juga perhatikan bahwa jika seseorang ingin mengikuti RFC3986 yang lebih baru
untuk URL, membuat tanda kurung siku disediakan (untuk IPv6) dan dengan demikian tidak dikodekan ketika membentuk sesuatu yang bisa menjadi bagian dari URL (seperti host), berikut ini dapat membantu.
function fixedEncodeURI (str) {
return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
}
Semoga ini akan membantu orang memilah masalah mereka ketika mereka menemukan pertanyaan ini.