ইউআরএল এনকোডিং ও ডিকোডিং

ইউআরএল স্ট্রিংকে এনকোড এবং ডিকোড করুন, বিশেষ অক্ষর এবং অ-ASCII টেক্সট নিরাপদে পরিচালনা করুন, যা কোয়েরি প্যারামিটার এবং পাথ ট্রান্সমিশনের জন্য উপযুক্ত।

এনকোড করুন

এনকোডিং মোড

ডিকোড করুন

ব্যবহার নির্দেশিকা

ইউআরএল এনকোডিং বিশেষ অক্ষর বা অ-ASCII অক্ষরকে %XX ফরম্যাটে রূপান্তরিত করে, যাতে ইউআরএল-এ নিরাপদে প্রেরণ করা যায়।
‘এনকোড’ ব্যবহার করে টেক্সটকে ইউআরএল-এর জন্য নিরাপদ ফরম্যাটে রূপান্তর করুন (যেমন: কোয়েরি প্যারামিটার)।
‘ডিকোড’ ব্যবহার করে %XX সিকোয়েন্সগুলিকে মূল অক্ষরে ফিরিয়ে আনুন।
সাধারণ পরিস্থিতি: কোয়েরি প্যারামিটার পরিচালনা, ফর্ম ডেটা ট্রান্সমিশন, API কল ইত্যাদি।

দ্রুত উদাহরণ

মূল টেক্সট
https://example.com/search?q=你好世界&type=text
ইউআরএল এনকোড করা
https://example.com/search?q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C&type=text

বৈশিষ্ট্যসমূহ

  • দুটি এনকোডিং মোড: encodeURIComponent এবং encodeURI
  • নমনীয় স্পেস পরিচালনা: + বা %20 হিসাবে এনকোড করুন
  • বাস্তবসময়ে রূপান্তর এবং ইনপুট/আউটপুট দৈর্ঘ্য পরিসংখ্যান প্রদর্শন
  • কপি/পরিষ্কার বোতাম এবং বিপরীত দিকে পাঠানোর সুবিধা
  • সম্পূর্ণ আন্তর্জাতিকীকরণ এবং DaisyUI মাল্টি-থিম সমর্থন

ইউআরএল এনকোডিং কী

URL এনকোডিং অক্ষরগুলিকে %XX শতাংশ এনকোডেড সিরিজে রূপান্তরিত করে যাতে URL-এ নিরাপদে প্রেরণ করা যায়।

encodeURIComponent একটি একক উপাদানের (যেমন একটি কুয়েরি প্যারামিটার মান) জন্য উপযুক্ত, যা বেশিরভাগ অ-অক্ষর-সংখ্যাগত অক্ষরকে এনকোড করে।

encodeURI একটি সম্পূর্ণ URI স্ট্রিং-এর জন্য উপযুক্ত, যা ?, &, =, / ইত্যাদি গঠনগত অর্থবহ সংরক্ষিত অক্ষরগুলিকে এনকোড করে না।

সাধারণ ব্যবহার

  • কুয়েরি প্যারামিটার (অনুসন্ধান কীওয়ার্ড, ফিল্টার শর্ত ইত্যাদি) তৈরি করা
  • GET/POST ফর্ম ডেটা এনকোড করে প্রেরণ
  • API অনুরোধ প্যারামিটার এনকোডিং
  • ব্যবহারকারীর ইনপুটকে URL পথ সেগমেন্টে নিরাপদে রাখা

প্রায়শই জিজ্ঞাসিত প্রশ্ন এবং ফাঁদ

  • encodeURI vs encodeURIComponent: প্যারামিটারের জন্য component ব্যবহার করুন, সম্পূর্ণ লিঙ্কের জন্য URI ব্যবহার করুন
  • স্পেস এবং +: application/x-www-form-urlencoded এ কুয়েরি স্ট্রিংয়ে স্পেসকে + দিয়ে প্রকাশ করা হয়
  • দ্বিগুণ ডিকোডিং এড়ান: একাধিকবার ডিকোডিং ডেটা ভাঙতে পারে
  • অবৈধ শতাংশ সিরিজ ত্রুটি ছোড়ে; অস্বাভাবিক পরিস্থিতি সুন্দরভাবে হ্যান্ডেল করা প্রয়োজন

প্রোগ্রামিং ভাষায় ইউআরএল এনকোডিং ও ডিকোডিং কিভাবে করবেন

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);