Kengaytirilgan Sozlamalar
+ Belgisini Bo'shliklarga Aylantirish
Yoqilganda, + belgilari bo'shliklarga aylantiriladi. Bu so'rov parametrlarini dekodlashda foydali.
Jonli Rejim
Yoqilganda, matn siz yozganingizda avtomatik ravishda dekodlanadi.
Ushbu sozlamalar URL'laringizdagi kodlangan belgilar qanday dekodlanishini boshqarishga yordam beradi.
URL dekodlash nima?
URL dekodlash foiz kodlashni teskari amalga oshiradi: kodlangan URL'dagi %XX qochish ketma-ketliklarini o'qib, ularni ifodalangan belgilarga qaytaradi. Shunday qilib brauzer, API yoki jurnal satri tomonidan kodlangan holda berilgan URL'dan o'qiladigan so'rov satri, forma qiymati yoki yo'l bo'limini qayta tiklaysiz.
URL dekodlash qanday ishlaydi?
URL dekodlash foiz bilan kodlangan ketma-ketliklarni ularning asl belgilariga qaytarish uchun ma'lum bir jarayonni amalga oshiradi:
- Kirish satri foiz bilan kodlangan qochish ketma-ketliklari (%XX) uchun skanerlanadi
- Har bir %XX o'zining ikki o'n oltilik raqamidan asl bayt qiymatiga qaytariladi
- Ketma-ket dekodlangan baytlar UTF-8 belgilariga qayta yig'iladi (ko'p baytli ketma-ketlik bitta belgiga aylanadi)
- So'rov satri kontekstida + bo'sh joyga dekodlanadi (application/x-www-form-urlencoded), %2B esa harfiy + bo'lib qoladi
- Zahiralanmagan belgilar va allaqachon dekodlangan matn o'zgarishsiz o'tadi
Nima uchun URL dekodlovchidan foydalanish kerak?
- O'qiladigan natija: %20, %40 va %3D ni yana bo'shliq, @ va = ga aylantiring; URL aslida nima deganini o'qing
- Xalqaro matn: Urg'uli va ASCII bo'lmagan belgilarni ularning UTF-8 bayt ketma-ketliklaridan qayta tiklang; %C3%A9 yana é sifatida o'qilsin
- Xatoliklarni tuzatish: So'rov satri, OAuth yo'naltirish yoki webhook yukidagi haqiqiy qiymatlarni harakatga o'tishdan oldin tekshiring
- Standartlarga muvofiqlik: RFC 3986 bo'yicha dekodlang — brauzerlar va serverlar foydalanadigan xuddi shu qoidalar — shunda ular ko'rganini aynan ko'rasiz
URL dekodlashning keng tarqalgan qo‘llanilishlari qanday?
URL dekodlash ko'plab veb-ishlab chiqish stsenariylarida zarurdir:
- Shakl Yuborish: application/x-www-form-urlencoded GET va POST ma'lumotlaridan asl maydon qiymatlarini qayta o'qish
- API Ishlab Chiqish: API so'nggi nuqtasiga keladigan foiz bilan kodlangan yo'l va so'rov parametrlarini ochish
- Fayl Tizimlari: URL ichida harakatlanish uchun foiz bilan kodlangan fayl yo'llari va nomlarini tiklash
- Havolalarni Tuzatish: Ulashilgan yoki jurналга yozilgan URL'larni dekodlab, ulardagi maxsus belgilar va xalqaro matnni ko'rish
URL dekodlash misoli qanday ko‘rinadi?
Mana ba'zi keng tarqalgan URL dekodlash misollari: %20 (yoki +) bo'shliqqa, %40 @ ga, %23 # ga, %26 & ga va %3D = ga aylanadi. %C3%A9 kabi UTF-8 ketma-ketligi esa é xalqaro belgisiga aylanadi.
Foiz kodlash nima?
Foiz kodlash — bu URI ichida xavfsiz bo'lmagan yoki rezervlangan belgilarni ifodalash uchun RFC 3986 §2.1 tomonidan belgilangan mexanizm. Qoida mexanik: tom ma'noda paydo bo'la olmaydigan har bir bayt foiz belgisi va undan keyin ikkita o'n oltilik raqam shaklida — %XX ko'rinishida — yoziladi, bu yerda XX baytning qiymati. é kabi ASCII bo'lmagan belgilar avval ularning UTF-8 bayt ketma-ketligi sifatida kodlanadi, so'ngra har bir bayt alohida foiz bilan kodlanadi. Dasturchilar bunga deyarli har kuni duch keladi: so'rov satrlarida, forma yuborishlarida, OAuth qaytuvchi URLlarda, REST API yo'l parametrlarida va URL tinish belgilari, bo'shliqlar yoki rezervlanmagan to'plam A–Z a–z 0–9 - _ . ~ tashqarisidagi belgilarni tashishi kerak bo'lgan har qanday joyda.
%C3%A9 ni é ga dekodlash aslida qanday ishlaydi?
Kodlangan so'rov satri ?q=caf%C3%A9&lang=fr ni oling. Dekodlash ?q=café&lang=fr ni beradi. Mana baytma-bayt tahlil:
- Kirish:
?q=caf%C3%A9&lang=fr - Chiqish:
?q=café&lang=fr
%C3→ bayt0xC3(ikkilik11000011) — 2 baytli UTF-8 ketma-ketligining yetakchi bayti.%A9→ bayt0xA9(ikkilik10101001) — davom bayti. BirgalikdaC3 A9bu U+00E9 ning UTF-8 kodlanishidir, ya'nié.?,=va&belgilari tegilmaydi, chunki ular strukturaviy — ular so'rovni va uning kalit/qiymat juftlarini ajratadi. Harfiycafham o'zgarmasdan o'tadi, chunki kichik ASCII harflari rezervlanmagan to'plamga tegishli.
decodeURIComponent va decodeURI o'rtasidagi farq nima?
JavaScript ikkita o'rnatilgan dekoderni taqdim etadi va ularni chalkashtirish URL bilan ishlashda eng keng tarqalgan xatolardan biridir:
decodeURIComponent(str)&,=,?,/va#kabi rezervlangan belgilarni o'z ichiga olgan har bir foiz-kodlangan ketma-ketlikni dekodlaydi. Uni alohida so'rov satri qiymatlarida yoki yo'l segmentlarida foydalaning — to'liq URL ustida hech qachon emas.decodeURI(str)ataylab konservativ: u rezervlangan belgilarni o'tkazib yuboradi. Unga%26bersangiz, u harfiy%26qatorini qaytaradi,&emas. U strukturani borib-kelishga bardosh berishini istagan to'liq URIlar uchun mo'ljallangan.
Amaliy qoida: agar satr URL ning bir qismi bo'lsa (bitta parametr, fragment, kodlangan fayl nomi), decodeURIComponent ga murojaat qiling. Bu vosita decodeURIComponent kabi ishlaydi — kirishingizdagi har bir %XX ketma-ketligi, shu jumladan rezervlangan belgilar ham dekodlanadi.
URL ni dekodlash — unda haqiqatan nima borligini o'qishning yo'li. Yuqoriga kodlangan satr joylashtiring va har bir %XX ketma-ketligi to'g'ridan-to'g'ri brauzeringizda o'z belgisiga aylanadi — serverga hech narsa yubormay so'rov parametrini tuzatishingiz, OAuth yo'naltirishni tekshirishingiz yoki urg'uli fayl nomini tiklashingiz mumkin.