URL Encoder / Decoder

Manzil ichidagi bo'shliq, kirill harf va maxsus belgilarni xavfsiz formatga o'giring yoki teskarisiga oching.

URL kodlash nima

Manzil (URL) faqat cheklangan belgilar to'plamidan iborat bo'lishi kerak: lotin harflari, raqamlar va bir nechta belgi. Bo'shliq, kirill harf, &, ?, # kabi belgilar to'g'ridan-to'g'ri yozilsa, manzil sinadi yoki noto'g'ri o'qiladi. Shuning uchun ular foiz-kodlash (percent-encoding) bilan almashtiriladi: har bayt % va ikkita o'n oltilik raqam ko'rinishida yoziladi — bo'shliq %20 bo'ladi.

Qism va to'liq manzil — farqi

Ikki rejim bir xil emas, va aynan shu yerda eng ko'p xato qilinadi:

  • Qism (encodeURIComponent) — bitta qiymatni kodlaydi va &, ?,=, / belgilarini ham almashtiradi. Manzilga parametr qo'shayotganda shu kerak: ?q= dan keyingi qiymat.
  • To'liq manzil (encodeURI) — manzil tuzilishini saqlaydi: /, ?,& tegilmaydi, faqat bo'shliq va harflar kodlanadi. Tayyor manzilni tozalash uchun ishlatiladi.

Amaliy qoida: qiymatni kodlayotgan bo'lsangiz — "Qism",butun manzilni kodlayotgan bo'lsangiz — "To'liq manzil".

Qayerda kerak bo'ladi

  • Telegram bott.me/share/url= yokisendMessage ga matn uzatganda kodlanmagan bo'shliq xabarni yarim yo'lda kesib qo'yadi.
  • Qidiruv parametri?q=samarqand mehmonxonaishlamaydi, ?q=samarqand%20mehmonxona ishlaydi.
  • Kirill manzillar — brauzer manzil qatoridaўзбекистон ko'rsatadi, lekin serverga%D1%9E%D0%B7... ketadi. Log va API'da shuning uchun "tushunarsiz" qator ko'rinadi.
  • Qaytish manzili (redirect) — bitta manzil ichiga boshqa manzilni parametr qilib joylashda kodlash majburiy, aks holda ichki manzilning & belgisi tashqi manzilni buzadi.

Nega + ba'zan bo'shliqqa aylanadi

Eski HTML forma formati (application/x-www-form-urlencoded) bo'shliqni + bilan yozadi, foiz-kodlash esa%20 bilan. Ikkalasi ham uchraydi. Ochish rejimida bu vosita + ni bo'shliq deb hisoblamaydi — chunki+ matnning o'zida ham bo'lishi mumkin (masalan+998 telefon raqami). Forma ma'lumotini ochayotgan bo'lsangiz, + larni qo'lda bo'shliqqa almashtiring.

Barcha hisob-kitob brauzeringizda bajariladi — kiritgan ma'lumotingiz serverga yuborilmaydi.