seo.url_decode.how_desc
- seo.url_decode.how_step1
- seo.url_decode.how_step2
- seo.url_decode.how_step3
- seo.url_decode.how_step4
seo.url_decode.how_example
فك تشفير سلاسل URL المشفرة إلى نص قابل للقراءة.
فك تشفير URL هو عملية تحويل الأحرف المشفرة بالنسبة المئوية مرة أخرى إلى شكلها الأصلي. عندما يتم ترميز البيانات بـ URL، يتم استبدال الأحرف الخاصة بـ % متبوعًا بقيم سداسية عشرية. يعكس فك التشفير هذا العملية لاستعادة النص الأصلي.
seo.url_decode.how_desc
seo.url_decode.how_example
فك تشفير URL هو عكس ترميز URL (RFC 3986). يعالج فك التشفير السلسلة حرفًا بحرف: عندما يواجه حرف % متبوعًا برقمين سداسي عشري، يحول تلك الأرقام السداسية عشرية إلى قيمة بايت ويخرج الحرف المقابل. بالنسبة للأحرف المشفرة بـ UTF-8 (التي تستخدم بايتات متعددة)، يعالج فك التشفير تسلسلات %XX المتتالية لإعادة بناء الحرف الكامل. على سبيل المثال، %C3%A9 يفك تشفيره إلى é (بايتات UTF-8 C3 A9). يتعامل فك التشفير أيضًا مع الحالة الخاصة حيث يمثل + مسافة في البيانات المشفرة بالنموذج (application/x-www-form-urlencoded).
كن حذرًا عند فك تشفير عناوين URL من مصادر غير موثوقة. تحقق من المحتوى المفكك وقم بتعقيمه قبل استخدامه في تطبيقك لمنع هجمات الحقن. تعرف على أمان الترميز
فك تشفير URL مدمج في معظم لغات البرمجة. إليك أمثلة شاملة:
// urldecode() - يفك تشفير ترميز النموذج (+ تصبح مسافة)
$decoded = urldecode($encoded);
// rawurldecode() - متوافق مع RFC 3986 (+ تبقى كـ +)
$decoded = rawurldecode($encoded);
// تحليل سلاسل الاستعلام (فك تشفير تلقائي)
$url = 'https://example.com/search?q=coffee+%26+tea';
$parts = parse_url($url);
parse_str($parts['query'], $params);
// $params['q'] مفك تشفيره تلقائيًا: "coffee & tea"
// decodeURIComponent() - فك التشفير القياسي (موصى به)
const decoded = decodeURIComponent('hello%20world%20%26%20stuff');
// النتيجة: "hello world & stuff"
// معالجة علامات الجمع يدويًا إذا لزم الأمر
function decodeFormData(str) {
return decodeURIComponent(str.replace(/\+/g, ' '));
}
// تحليل معاملات URL
const url = new URL('https://example.com/search?q=coffee+%26+tea');
const query = url.searchParams.get('q');
// مفك تشفيره تلقائيًا: "coffee & tea"
from urllib.parse import unquote, unquote_plus, parse_qs
# unquote() - فك التشفير القياسي (+ تبقى كـ +)
decoded = unquote('hello%20world%20%26%20stuff')
# النتيجة: "hello world & stuff"
# unquote_plus() - فك تشفير النموذج (+ تصبح مسافة)
decoded = unquote_plus('hello+world+%26+stuff')
# النتيجة: "hello world & stuff"
# تحليل سلاسل الاستعلام (فك تشفير تلقائي)
params = parse_qs('q=coffee+%26+tea&page=1')
# params['q'] = ['coffee & tea']
import (
"net/url"
"fmt"
)
// QueryUnescape() - يفك تشفير سلاسل الاستعلام (+ تصبح مسافة)
decoded, err := url.QueryUnescape("hello+world+%26+stuff")
if err != nil {
fmt.Println("Decoding error:", err)
}
// النتيجة: "hello world & stuff"
// PathUnescape() - يفك تشفير المسارات (+ تبقى كـ +)
decoded, err := url.PathUnescape("hello%2Fworld")
// النتيجة: "hello/world"
// تحليل معاملات URL (تلقائي)
u, _ := url.Parse("https://example.com/search?q=coffee+%26+tea")
query := u.Query().Get("q")
// مفك تشفيره تلقائيًا: "coffee & tea"
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
// فك تشفير URL (حدد دائمًا UTF-8)
try {
String decoded = URLDecoder.decode("hello+world+%26+stuff",
StandardCharsets.UTF_8);
// النتيجة: "hello world & stuff"
} catch (Exception e) {
System.err.println("Decoding error: " + e.getMessage());
}
require 'uri'
require 'cgi'
# URI.decode_www_form_component() - فك تشفير النموذج
decoded = URI.decode_www_form_component('hello+world+%26+stuff')
# النتيجة: "hello world & stuff"
# CGI.unescape() - بديل
decoded = CGI.unescape('hello+world')
# النتيجة: "hello world"
# تحليل سلاسل الاستعلام (تلقائي)
params = URI.decode_www_form('q=coffee+%26+tea&page=1')
# params = [['q', 'coffee & tea'], ['page', '1']]
using System;
using System.Web;
using System.Net;
// HttpUtility.UrlDecode() - فك تشفير النموذج (+ تصبح مسافة)
string decoded = HttpUtility.UrlDecode("hello+world+%26+stuff");
// النتيجة: "hello world & stuff"
// Uri.UnescapeDataString() - فك التشفير القياسي (بدون System.Web)
string decoded = Uri.UnescapeDataString("hello%20world%20%26%20stuff");
// النتيجة: "hello world & stuff"
هل تحتاج إلى ترميز نص لعناوين URL؟ استخدم مشفر URL لتحويل الأحرف الخاصة إلى تنسيق مشفر بالنسبة المئوية.
فك تشفير سلاسل Base64؟ جرب فك تشفير Base64 للبيانات المشفرة بـ Base64.
فك تشفير كيانات HTML؟ استخدم فك تشفير كيانات HTML لتحويل < > & مرة أخرى إلى أحرف.