URL اینکوڈنگ اور ڈیکوڈنگ

URL سٹرنگز کو اینکوڈ اور ڈیکوڈ کریں، خصوصی کریکٹرز اور غیر ASCII متن کو محفوظ طریقے سے ہینڈل کریں، جو کوئری پیرامیٹرز اور پاتھ ٹرانسمیشن کے لیے مناسب ہے۔

اینکوڈ کریں

اینکوڈنگ موڈ

ڈیکوڈ کریں

استعمال کی ہدایات

URL اینکوڈنگ خصوصی کریکٹرز یا غیر ASCII متن کو %XX فارمیٹ میں تبدیل کرتی ہے تاکہ URL میں محفوظ طریقے سے ٹرانسمٹ ہو سکے۔
‘اینکوڈ’ کا استعمال کرکے متن کو URL کے لیے محفوظ شکل میں تبدیل کریں (مثال کے طور پر کوئری پیرامیٹرز)۔
‘ڈیکوڈ’ کا استعمال کرکے %XX سیکوئنس کو اصل کریکٹرز میں واپس لائیں۔
عام صورتحال: کوئری پیرامیٹرز، فارم ڈیٹا ٹرانسمیشن، API کالز وغیرہ کو ہینڈل کرنا۔

تیز نمونے

اصل متن
https://example.com/search?q=你好世界&type=text
URL اینکوڈڈ
https://example.com/search?q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C&type=text

خصوصیات

  • دو اینکوڈنگ موڈز: encodeURIComponent اور encodeURI
  • لچکدار اسپیس ہینڈلنگ: + یا %20 کے طور پر اینکوڈ کریں
  • حقیقی وقت میں تبدیلی اور ان پٹ/آؤٹ پٹ لمبائی کی شماریات ظاہر کریں
  • کاپی/خالی کرنے کے بٹن اور دو طرفہ پینلز میں بھیجنے کی سہولت
  • مکمل بین الاقوامی اور DaisyUI متعدد تھیمز کی حمایت

URL اینکوڈنگ کیا ہے؟

URL اینکوڈنگ حروف کو %XX فیصد کوڈ س퀀س میں تبدیل کرتی ہے تاکہ URL میں محفوظ طریقے سے منتقل کیا جا سکے۔

encodeURIComponent صرف ایک منفرد کمپونینٹ (جیسے ایک ہی کوئری پیرامیٹر کی قیمت) کے لیے استعمال ہوتا ہے، اور اکثر غیر الفاظی-عددی حروف کو اینکوڈ کرتا ہے۔

encodeURI مکمل URI سٹرنگ کے لیے استعمال ہوتا ہے، اور ?, &, =, / جیسے ساختی معنی رکھنے والے محفوظ حروف کو اینکوڈ نہیں کرتا۔

عام استعمال

  • کوئری پیرامیٹرز (سرچ کی ورڈز، فلٹر کنڈیشنز وغیرہ) بنانا
  • GET/POST فارم ڈیٹا کو اینکوڈ کر کے بھیجنا
  • API درخواست پیرامیٹرز کو اینکوڈ کرنا
  • صارف کے ان پٹ کو URL پاتھ سیگمنٹس میں محفوظ طریقے سے شامل کرنا

عام سوالات اور عام غلطیاں

  • encodeURI vs encodeURIComponent: پیرامیٹر کے لیے component استعمال کریں، مکمل لنک کے لیے URI استعمال کریں
  • اسپیس اور +: application/x-www-form-urlencoded میں کوئری سٹرنگ میں اسپیس کو عام طور پر + سے ظاہر کیا جاتا ہے
  • دوبارہ ڈیکوڈنگ سے بچیں: متعدد ڈیکوڈنگ سے ڈیٹا خراب ہو سکتا ہے
  • ناقابلِ قبول فیصد سیکوئنس سے خطا آتی ہے؛ اس کا احترامی طریقے سے مقابلہ کریں

پروگرامنگ زبانوں میں URL اینکوڈنگ اور ڈیکوڈنگ کیسے کریں

JavaScript
اینکوڈ کریں
// Component (recommended for query values)
const encoded = encodeURIComponent(text);
// If you need '+' for spaces in query strings
const encodedPlus = encoded.replace(/%20/g, '+');
// Full URI
const encodedUri = encodeURI(url);
ڈیکوڈ کریں
// Treat '+' as space if needed
const input = plusAsSpace ? s.replace(/\+/g, ' ') : s;
// Component
const dec1 = decodeURIComponent(input);
// Fallback to decodeURI when input is a full URL
const dec2 = decodeURI(input);
PHP
اینکوڈ کریں
// Component (RFC 3986)
$encoded = rawurlencode($text);
// '+' for spaces (application/x-www-form-urlencoded)
$encodedPlus = str_replace('%20', '+', $encoded);
// Full query usage
$query = http_build_query(['q' => '你好 世界', 'type' => 'text']);
ڈیکوڈ کریں
// Component
$decoded = rawurldecode($s);
// If input uses '+' for spaces
$decodedPlus = urldecode($s);
Python
اینکوڈ کریں
from urllib.parse import quote, quote_plus

# Component (RFC 3986)
enc = quote(text, safe='')
# '+' for spaces (application/x-www-form-urlencoded)
enc_plus = quote_plus(text)
ڈیکوڈ کریں
from urllib.parse import unquote, unquote_plus

# Component
dec = unquote(s)
# Input with '+' for spaces
dec_plus = unquote_plus(s)
Go
اینکوڈ کریں
import (
    "net/url"
)

// Query component
enc := url.QueryEscape(text) // spaces => +
// Path segment
// go1.8+
// url.PathEscape(text)
ڈیکوڈ کریں
import (
    "net/url"
)

// Query component
dec, _ := url.QueryUnescape(s)
// Path segment
// url.PathUnescape(s)
Rust
اینکوڈ کریں
// Cargo.toml: urlencoding = "^2"
use urlencoding::{encode, encode_binary};

let enc = encode(text);              // component; spaces => %20
let enc_plus = enc.replace("%20", "+"); // if you need '+' for spaces
ڈیکوڈ کریں
use urlencoding::decode;

// decode treats '+' as space
let dec = decode(s)?; // Result, _>
Java
اینکوڈ کریں
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;

// Query param / form style (spaces => '+')
String enc = URLEncoder.encode(text, StandardCharsets.UTF_8);
// For RFC3986-like component encoding, replace '+' with %20 if needed
String encSpace = enc.replace("+", "%20");
ڈیکوڈ کریں
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;

// URLDecoder treats '+' as space
String dec = URLDecoder.decode(s, StandardCharsets.UTF_8);