URL एनकोडिंग/डीकोडिंग उपकरण
अक्सर पूछे जाने वाले प्रश्न
URL एनकोडिंग क्या है?
URL एनकोडिंग एक ऐसी विधि है जिससे वर्णों को एक ऐसे प्रारूप में परिवर्तित किया जाता है जिसे इंटरनेट पर प्रेषित किया जा सकता है। URL केवल ASCII वर्ण सेट का उपयोग करके इंटरनेट पर भेजे जा सकते हैं। चूंकि URL में अक्सर ASCII सेट के बाहर के वर्ण होते हैं, इसलिए उन्हें परिवर्तित करने की आवश्यकता होती है। URL एनकोडिंग असुरक्षित ASCII वर्णों को '%' के बाद दो हेक्साडेसिमल अंकों से बदल देता है।
URL एनकोडिंग कैसे काम करती है?
URL एनकोडिंग असुरक्षित वर्णों को '%' के बाद दो हेक्साडेसिमल अंकों से बदलकर काम करती है, जो वर्ण का UTF-8 एनकोडिंग दर्शाते हैं। उदाहरण के लिए, स्पेस वर्ण %20 के रूप में एनकोड किया जाता है। URL में स्पेस नहीं हो सकते, इसलिए उन्हें या तो प्लस (+) चिह्न या %20 से बदला जाता है। अन्य विशेष वर्णों को उनके संबंधित %xx कोड से बदल दिया जाता है।
आम वर्ण जिन्हें URL एनकोडिंग की आवश्यकता होती है
URL में उपयोग किए जाने पर निम्नलिखित वर्णों को URL एनकोडिंग की आवश्यकता होती है:
वर्ण | URL एनकोडेड | विवरण |
---|---|---|
Space | %20 | URL एनकोडिंग की आवश्यकता वाला सबसे आम वर्ण |
! | %21 | विस्मयादिबोधक चिह्न |
" | %22 | दोहरा उद्धरण चिह्न |
# | %23 | हैश प्रतीक (URL फ्रैग्मेंट के लिए उपयोग किया जाता है) |
$ | %24 | डॉलर चिह्न |
% | %25 | प्रतिशत चिह्न (URL एनकोडिंग एस्केप वर्ण) |
& | %26 | एम्परसैंड (URL पैरामीटर विभाजन के लिए उपयोग) |
' | %27 | एकल उद्धरण चिह्न |
( | %28 | खुला कोष्ठक |
) | %29 | बंद कोष्ठक |
+ | %2B | प्लस चिह्न |
, | %2C | अल्पविराम |
/ | %2F | स्लैश (URL पथ विभाजक) |
= | %3D | बराबर चिह्न (URL पैरामीटर असाइनमेंट) |
? | %3F | प्रश्नवाचक चिह्न (URL क्वेरी स्ट्रिंग प्रारंभ) |
विभिन्न प्रोग्रामिंग भाषाओं में URL एनकोडिंग कार्यान्वयन
यहां विभिन्न प्रोग्रामिंग भाषाओं में URL एनकोडिंग और डीकोडिंग के उदाहरण हैं:
Go
package main
import (
"fmt"
"net/url"
)
func main() {
// Encode a URL
text := "Hello World! Special chars: &?=/";
encoded := url.QueryEscape(text)
fmt.Println("Encoded:", encoded)
// Decode a URL
decoded, err := url.QueryUnescape(encoded)
if err == nil {
fmt.Println("Decoded:", decoded)
}
}
C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
// Function to URL-encode a string
char *url_encode(char *str) {
char *encoded = malloc(strlen(str) * 3 + 1);
char *pstr = str;
char *pbuf = encoded;
while (*pstr) {
if (isalnum(*pstr) || *pstr == '-' || *pstr == '_' || *pstr == '.' || *pstr == '~') {
*pbuf++ = *pstr;
} else if (*pstr == ' ') {
*pbuf++ = '+';
} else {
sprintf(pbuf, "%%%.2X", *pstr);
pbuf += 3;
}
pstr++;
}
*pbuf = '\\0';
return encoded;
}
int main() {
char *text = "Hello World! Special chars: &?=/";
char *encoded = url_encode(text);
printf("Original: %s\\n", text);
printf("Encoded: %s\\n", encoded);
free(encoded);
return 0;
}
PHP
<?php
// URL encoding
$text = "Hello World! Special chars: &?=/";
$encoded = urlencode($text);
echo "Encoded: " . $encoded . "\\n";
// URL decoding
$decoded = urldecode($encoded);
echo "Decoded: " . $decoded . "\\n";
?>
Python
import urllib.parse
# URL encoding
text = "Hello World! Special chars: &?=/"
encoded = urllib.parse.quote(text)
print(f"Encoded: {encoded}")
# URL decoding
decoded = urllib.parse.unquote(encoded)
print(f"Decoded: {decoded}")
JavaScript
// URL encoding
const text = "Hello World! Special chars: &?=/";
const encoded = encodeURIComponent(text);
console.log("Encoded:", encoded);
// URL decoding
const decoded = decodeURIComponent(encoded);
console.log("Decoded:", decoded);
TypeScript
// URL encoding
const text: string = "Hello World! Special chars: &?=/";
const encoded: string = encodeURIComponent(text);
console.log("Encoded:", encoded);
// URL decoding
const decoded: string = decodeURIComponent(encoded);
console.log("Decoded:", decoded);
encodeURI और encodeURIComponent के बीच क्या अंतर है?
encodeURI() एक पूर्ण URI को एनकोड करने के लिए डिज़ाइन किया गया है, इसलिए यह URL में विशेष अर्थ वाले वर्णों को एनकोड नहीं करता है, जैसे /, ?, :, @, &, =, +, $ और #। इसके विपरीत, encodeURIComponent() सभी विशेष वर्णों को एनकोड करता है, जिससे यह URL के भागों, जैसे क्वेरी स्ट्रिंग पैरामीटर, को एनकोड करने के लिए उपयुक्त है। क्वेरी पैरामीटर को एनकोड करते समय, सभी विशेष वर्णों के सही ढंग से एनकोड होने को सुनिश्चित करने के लिए हमेशा encodeURIComponent() का उपयोग करें।