Whiz Tools

யூஆர்.எல் சரம் எஸ்கேப்பர்

URL String Escaper Tool

Introduction

இணைய வளர்ச்சியின் மற்றும் இணைய தொடர்புகளின் துறையில், URL (ஒன்றுபட்ட வளக் குறியீடுகள்) இணையத்தில் வளங்களை அடையாளம் காணுவதில் முக்கிய பங்கு வகிக்கிறது. இருப்பினும், URL கள் உள்ளடக்கக்கூடிய எழுத்துக்களில் கட்டுப்பாடுகள் உள்ளன. குறிப்பிட்ட எழுத்துக்கள் சிறப்பு அர்த்தங்களை கொண்டுள்ளன, மற்றவை அனுப்புவதில் தவறாக விளக்கப்படுவதற்கான சாத்தியத்திற்காக URL களில் பயன்படுத்துவதற்கு பாதுகாப்பற்றவை.

URL குறியாக்கம், சதவிகிதக் குறியாக்கம் என்றும் அழைக்கப்படுகிறது, சிறப்பு எழுத்துக்களை இணையத்தில் அனுப்பக்கூடிய வடிவத்தில் மாற்றுவதற்கான ஒரு முறைமையாகும். இந்த கருவி, நீங்கள் ஒரு URL சரத்தை உள்ளிடும்போது சிறப்பு எழுத்துக்களை அடைக்க, URL சரியானது மற்றும் இணைய உலாவிகள் மற்றும் சேவையகங்களால் சரியாக விளக்கப்படலாம் என்பதை உறுதி செய்கிறது.

Understanding URL Encoding

What is URL Encoding?

URL குறியாக்கம் என்பது பாதுகாப்பற்ற ASCII எழுத்துக்களை % என்ற குறியீடு மற்றும் எழுத்தின் ASCII குறியீட்டின் இரண்டு ஹெக்சடெசிமல் எண்களை மாற்றுவதைக் குறிக்கிறது. இது இணையத்தில் தகவல் மாற்றப்படாமல் அனுப்பப்படுவதை உறுதி செய்கிறது.

உதாரணமாக, இடம் எழுத்து ' ' %20 என்பதால் மாற்றப்படுகிறது.

Why is URL Encoding Necessary?

URL கள் இணையத்தில் ASCII எழுத்துப்பதிவைப் பயன்படுத்தி அனுப்பப்பட வேண்டும். URL கள் அடிக்கடி இந்த தொகுப்பில் உள்ள எழுத்துக்களை கொண்டிருக்கலாம், எனவே அவற்றைப் சரியான ASCII வடிவத்தில் மாற்ற வேண்டும். URL குறியாக்கம், சிறப்பு எழுத்துக்கள் தவறாக விளைவுகள் அல்லது பிழைகளை ஏற்படுத்துவதற்காகக் காரணமாக இருக்காது என்பதைக் உறுதி செய்கிறது.

Characters that Need Encoding

RFC 3986 விவரக்குறிப்பின் படி, URL களில் பாதுகாக்கப்பட்ட எழுத்துக்கள் உள்ளன மற்றும் அவற்றைப் நேரடியாகப் பயன்படுத்த வேண்டுமானால் சதவிகிதக் குறியாக்கம் செய்ய வேண்டும்:

  • பொதுவான பிரிக்கப்பட்ட எழுத்துக்கள்: :, /, ?, #, [, ], @
  • துணை பிரிக்கப்பட்ட எழுத்துக்கள்: !, $, &, ', (, ), *, +, ,, ;, =

மேலும், ASCII அல்லாத எழுத்துக்கள், யூனிகோட் உள்ள எழுத்துக்களை உள்ளடக்கியவை, குறியாக்கப்பட வேண்டும்.

How Does URL Encoding Work?

The Encoding Process

  1. Identify Special Characters: URL சரத்தை பகுப்பாய்வு செய்து, அனுமதிக்கப்படாத ASCII எழுத்துக்களை (எழுத்துக்கள், எண்கள், -, ., _, ~) அடையாளம் காணவும்.

  2. Convert to ASCII Code: ஒவ்வொரு சிறப்பு எழுத்துக்கும், அதன் ASCII அல்லது யூனிகோட் குறியீட்டைப் பெறவும்.

  3. Convert to UTF-8 Byte Sequence (if necessary): ASCII அல்லாத எழுத்துக்களுக்கு, UTF-8 குறியாக்கத்தில் ஒரு அல்லது பல பைட்டுகளாக எழுத்தை குறியாக்கிக்கொள்ளவும்.

  4. Convert to Hexadecimal: ஒவ்வொரு பைட்டையும் அதன் இரண்டு இலக்க ஹெக்சடெசிமல் சமமானதாக மாற்றவும்.

  5. Prefix with Percent Symbol: ஒவ்வொரு ஹெக்சடெசிமல் பைட்டுக்கும் % சின்னத்துடன் முன்னணி சேர்க்கவும்.

Example Encoding

  • எழுத்து: ' ' (இடம்)

    • ASCII குறியீடு: 32
    • ஹெக்சடெசிமல்: 20
    • URL குறியாக்கம்: %20
  • எழுத்து: 'é'

    • UTF-8 குறியாக்கம்: 0xC3 0xA9
    • URL குறியாக்கம்: %C3%A9

Edge Cases to Consider

  • Unicode Characters: ASCII அல்லாத எழுத்துக்கள் UTF-8 இல் குறியாக்கப்பட வேண்டும் மற்றும் பிறகு சதவிகிதக் குறியாக்கம் செய்ய வேண்டும்.

  • Already Encoded Percent Signs: சதவிகிதக் குறியாக்கங்களில் உள்ள சதவிகிதக் குறியீடுகள் மீண்டும் குறியாக்கப்படக்கூடாது.

  • Reserved Characters in Query Strings: குறிப்பிட்ட எழுத்துக்கள் கேள்வி சரங்களில் சிறப்பு அர்த்தங்களை கொண்டுள்ளன மற்றும் கட்டமைப்பை மாற்றாமல் இருக்க குறியாக்கப்பட வேண்டும்.

URL Decoding

What is URL Decoding?

URL மீள்குறியாக்கம் என்பது URL குறியாக்கத்தின் எதிர்மறை செயல்முறை. இது சதவிகிதக் குறியாக்கப்பட்ட எழுத்துக்களை மீண்டும் அவற்றின் ஆரம்ப வடிவத்திற்கு மாற்றுகிறது, URL ஐ மனிதர்கள் மற்றும் அமைப்புகளால் வாசிக்கக்கூடியதாகவும் விளக்கக்கூடியதாகவும் செய்கிறது.

Decoding Process

  1. Identify Percent-Encoding Sequences: URL சரத்தில் உள்ள அனைத்து % சின்னங்களை மற்றும் இரண்டு ஹெக்சடெசிமல் எண்களை கண்டறியவும்.

  2. Convert Hexadecimal to Bytes: ஒவ்வொரு ஹெக்சடெசிமல் மதிப்பையும் அதன் தொடர்புடைய பைட்டாக மாற்றவும்.

  3. Decode UTF-8 Bytes (if necessary): பல பைட்டுகளின் வரிசைகளை இணைத்து, UTF-8 குறியாக்கம் மூலம் ஆரம்ப எழுத்தை பெறவும்.

  4. Replace Encoded Sequences: சதவிகிதக் குறியாக்கப்பட்ட வரிசைகளை மீள்குறியாக்கப்பட்ட எழுத்துக்களால் மாற்றவும்.

Example Decoding

  • குறியாக்கம்: hello%20world

    • %20 இடம் ' ' இல் மாற்றப்படுகிறது
    • மீள்குறியாக்கம்: hello world
  • குறியாக்கம்: J%C3%BCrgen

    • %C3%A4 UTF-8 இல் 'ü' ஆக மாற்றப்படுகிறது
    • மீள்குறியாக்கம்: Jürgen

Importance of URL Decoding

URL மீள்குறியாக்கம், URL களில் இருந்து பயனர் உள்ளீடுகளை செயலாக்குவதில், கேள்வி அளவுருக்களை வாசிப்பதில் அல்லது இணைய கோரிக்கைகளில் பெறப்பட்ட தரவுகளை விளக்குவதில் முக்கியமானது. இது URL இலிருந்து பெறப்பட்ட தகவல் அதன் சரியான, நோக்கமிட்ட வடிவத்தில் இருப்பதை உறுதி செய்கிறது.

Use Cases

Web Development

  • Query Parameters: கேள்வி அளவுருக்களில் பயனர் உள்ளீட்டை குறியாக்குவது, பிழைகள் அல்லது பாதுகாப்பு பாதிப்புகளைத் தவிர்க்க.

  • Path Parameters: URL பாதைகளில் இயக்கக்கூடிய தரவுகளை பாதுகாப்பாக சேர்க்க.

Data Transmission

  • APIs and Web Services: API களுக்கு அனுப்பப்படும் தரவுகள் சரியாக வடிவமைக்கப்பட்டுள்ளன என்பதை உறுதி செய்க.

  • Internationalization: பல மொழிகளில் எழுத்துக்களை உள்ளடக்கிய URL களை ஆதரிக்க.

Security

  • Preventing Injection Attacks: உள்ளீடுகளை குறியாக்குவது, குறுக்கு தள ஸ்கிரிப்டிங் (XSS) மற்றும் பிற ஊடுருவல் தாக்குதல்களின் ஆபத்தை குறைக்க.

Alternatives

URL குறியாக்கம் முக்கியமாக இருப்பினும், சில சூழ்நிலைகளில் மற்ற குறியாக்க முறைமைகள் அதிகமாக பொருத்தமானதாக இருக்கலாம்:

  • Base64 Encoding: URL களில் பைனரி தரவுகளை குறியாக்குவதற்காக அல்லது அதிக தகவல் அடர்த்தி தேவைப்படும் போது பயன்படுத்தப்படுகிறது.

  • UTF-8 Encoding without Percent-Encoding: சில அமைப்புகள் நேரடியாக UTF-8 குறியாக்கத்தைப் பயன்படுத்துகின்றன, ஆனால் இது சரியாக கையாளப்படாதால் பிரச்சினைகளை ஏற்படுத்தலாம்.

உங்கள் பயன்பாட்டின் விவரங்களை கருத்தில் கொண்டு, மிகவும் பொருத்தமான குறியாக்க முறைமையை தேர்ந்தெடுக்கவும்.

History

URL குறியாக்கம் 1990 களில் URL மற்றும் URI (ஒன்றுபட்ட வளக் அடையாளம்) தரவுகளின் ஆரம்ப விவரக்குறிப்புகளுடன் அறிமுகம் செய்யப்பட்டது. உலகளாவிய அளவில் பயன்படுத்தப்படும் மாறுபட்ட முறைமைகள் மற்றும் எழுத்துப் தொகுப்புகள் காரணமாக சிறப்பு எழுத்துக்களை குறியாக்குவதற்கான ஒரு ஒழுங்கான வழியை தேவைப்பட்டது.

முக்கிய மைல்கற்கள்:

  • RFC 1738 (1994): URL களை வரையறுக்கிறது மற்றும் சதவிகிதக் குறியாக்கத்தை அறிமுகம் செய்கிறது.

  • RFC 3986 (2005): URI இலக்கணம் புதுப்பிக்கப்பட்டது, குறியாக்கத்திற்கான விதிகளைத் துல்லியமாக்கியது.

காலப்போக்கில், URL குறியாக்கம் இணைய தொழில்நுட்பங்களில் அடிப்படையானது ஆகி, மாறுபட்ட அமைப்புகள் மற்றும் தளங்களில் நம்பகமான தொடர்பை உறுதி செய்கிறது.

Code Examples

இங்கே பல программிங் மொழிகளில் URL குறியாக்கத்தைச் செய்யும் உதாரணங்கள் உள்ளன:

' Excel VBA Example
Function URLEncode(ByVal Text As String) As String
    Dim i As Integer
    Dim CharCode As Integer
    Dim Char As String
    Dim EncodedText As String

    For i = 1 To Len(Text)
        Char = Mid(Text, i, 1)
        CharCode = AscW(Char)
        Select Case CharCode
            Case 48 To 57, 65 To 90, 97 To 122, 45, 46, 95, 126 ' 0-9, A-Z, a-z, -, ., _, ~
                EncodedText = EncodedText & Char
            Case Else
                If CharCode < 0 Then
                    ' Handle Unicode characters
                    EncodedText = EncodedText & "%" & Hex(65536 + CharCode)
                Else
                    EncodedText = EncodedText & "%" & Right("0" & Hex(CharCode), 2)
                End If
        End Select
    Next i
    URLEncode = EncodedText
End Function

' Usage:
' =URLEncode("https://example.com/?name=Jürgen")
% MATLAB Example
function encodedURL = urlEncode(url)
    import java.net.URLEncoder
    encodedURL = char(URLEncoder.encode(url, 'UTF-8'));
end

% Usage:
% encodedURL = urlEncode('https://example.com/?name=Jürgen');
## Ruby Example
require 'uri'

url = 'https://example.com/path?query=hello world&name=Jürgen'
encoded_url = URI::DEFAULT_PARSER.escape(url)
puts encoded_url
## Output: https://example.com/path?query=hello%20world&name=J%C3%BCrgen
// Rust Example
use url::form_urlencoded;

fn main() {
    let url = "https://example.com/path?query=hello world&name=Jürgen";
    let encoded_url = percent_encode(url);
    println!("{}", encoded_url);
    // Output: https://example.com/path%3Fquery%3Dhello%20world%26name%3DJ%C3%BCrgen
}

fn percent_encode(input: &str) -> String {
    use percent_encoding::{utf8_percent_encode, NON_ALPHANUMERIC};
    utf8_percent_encode(input, NON_ALPHANUMERIC).to_string()
}
## Python Example
import urllib.parse

url = 'https://example.com/path?query=hello world&name=Jürgen'
encoded_url = urllib.parse.quote(url, safe=':/?&=')
print(encoded_url)
## Output: https://example.com/path?query=hello%20world&name=J%C3%BCrgen
// JavaScript Example
const url = 'https://example.com/path?query=hello world&name=Jürgen';
const encodedURL = encodeURI(url);
console.log(encodedURL);
// Output: https://example.com/path?query=hello%20world&name=J%C3%BCrgen
// Java Example
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;

public class URLEncodeExample {
    public static void main(String[] args) throws Exception {
        String url = "https://example.com/path?query=hello world&name=Jürgen";
        String encodedURL = URLEncoder.encode(url, StandardCharsets.UTF_8.toString());
        // Replace "+" with "%20" for spaces
        encodedURL = encodedURL.replace("+", "%20");
        System.out.println(encodedURL);
        // Output: https%3A%2F%2Fexample.com%2Fpath%3Fquery%3Dhello%20world%26name%3DJ%C3%BCrgen
    }
}
// C# Example
using System;
using System.Net;

class Program
{
    static void Main()
    {
        string url = "https://example.com/path?query=hello world&name=Jürgen";
        string encodedURL = Uri.EscapeUriString(url);
        Console.WriteLine(encodedURL);
        // Output: https://example.com/path?query=hello%20world&name=J%C3%BCrgen
    }
}
<?php
// PHP Example
$url = 'https://example.com/path?query=hello world&name=Jürgen';
$encodedURL = urlencode($url);
echo $encodedURL;
// Output: https%3A%2F%2Fexample.com%2Fpath%3Fquery%3Dhello+world%26name%3DJ%C3%BCrgen
?>
// Go Example
package main

import (
    "fmt"
    "net/url"
)

func main() {
    urlStr := "https://example.com/path?query=hello world&name=Jürgen"
    encodedURL := url.QueryEscape(urlStr)
    fmt.Println(encodedURL)
    // Output: https%3A%2F%2Fexample.com%2Fpath%3Fquery%3Dhello+world%26name%3DJ%25C3%25BCrgen
}
// Swift Example
import Foundation

let url = "https://example.com/path?query=hello world&name=Jürgen"
if let encodedURL = url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) {
    print(encodedURL)
    // Output: https://example.com/path?query=hello%20world&name=J%C3%BCrgen
}
## R Example
url <- "https://example.com/path?query=hello world&name=Jürgen"
encodedURL <- URLencode(url, reserved = TRUE)
print(encodedURL)
## Output: https://example.com/path?query=hello%20world&name=J%C3%BCrgen

Note: The output may vary slightly based on how each language handles reserved characters and spaces (e.g., encoding spaces as %20 or +).

SVG Diagram of URL Encoding Process

URL Encoding Process Original URL Identify Special Characters Encode URL Example: Input: https://example.com/über uns Output: https://example.com/%C3%BCber%20uns

Security Considerations

சரியான URL குறியாக்கம் மற்றும் மீள்குறியாக்கம் பாதுகாப்பிற்காக மிகவும் முக்கியமானது:

  • Prevent Injection Attacks: பயனர் உள்ளீடுகளை குறியாக்குவது, தீங்கான குறியீடு செயல்படுத்தப்படாமல் இருக்க உதவுகிறது, குறுக்கு தள ஸ்கிரிப்டிங் (XSS) மற்றும் SQL ஊடுருவல் தாக்குதல்களை குறைக்கிறது.

  • Data Integrity: தரவுகள் மாற்றம் அல்லது அழிவின்றி அனுப்பப்படுவதை உறுதி செய்கிறது.

  • Compliance with Standards: குறியாக்க தரவுகளைப் பின்பற்றுவது, அமைப்புகளுக்கிடையிலான இணக்கமின்மையை தவிர்க்கிறது.

References

  1. RFC 3986 - Uniform Resource Identifier (URI): https://tools.ietf.org/html/rfc3986
  2. What is URL Encoding and How does it work? https://www.urlencoder.io/learn/
  3. Percent-encoding: https://en.wikipedia.org/wiki/Percent-encoding
  4. URL Standard: https://url.spec.whatwg.org/
  5. URI.escape is obsolete: https://stackoverflow.com/questions/2824126/why-is-uri-escape-deprecated

Conclusion

URL குறியாக்கம் இணைய வளர்ச்சி மற்றும் இணைய தொடர்புகளின் ஒரு முக்கிய அம்சமாகும். சிறப்பு எழுத்துக்களை பாதுகாப்பான வடிவத்தில் மாற்றுவதன் மூலம், இது URL கள் உலாவிகள் மற்றும் சேவையகங்களால் சரியாக விளக்கப்படுவதற்கான உறுதிப்பத்திரத்தை வழங்குகிறது, தரவின் பரிமாற்றத்தின் நம்பகத்தன்மையை மற்றும் பாதுகாப்பை பராமரிக்கிறது. இந்த கருவி, உங்கள் URL களில் சிறப்பு எழுத்துக்களை அடைக்க ஒரு வசதியான வழியை வழங்குகிறது, இணக்கத்தன்மையை மேம்படுத்துகிறது மற்றும் சாத்தியமான பிழைகள் அல்லது பாதுகாப்பு பாதிப்புகளைத் தவிர்க்கிறது.

கருத்து