# ترميز / فك الترميز

URL: https://discuvr.org/encode-decode/?hl=ar
Last updated: 2026-11-07
MCP tool: `encode_decode_text`

رمّز أو فك ترميز Base64 وBase64URL وترميز URL وكيانات HTML والست عشري أثناء الكتابة. دعم كامل لـ UTF-8، وتنبيه عند نقص الحشو، دون تخزين.

رمز مميز في سجل، أو سلسلة استعلام في إعادة توجيه، أو رسالة بريد مليئة بـ &amp;: النص المرمّز يظهر في كل مكان في العمل. الصقه هنا واختر الصيغة، وشاهد النتيجة المرمّزة أو المفكوكة أثناء الكتابة.

## ما الذي تفعله الأداة

- Base64 وBase64URL (بأسلوب JWT ومن دون حشو) وترميز URL بالنسبة المئوية وكيانات HTML والست عشري.
- دعم كامل لـ UTF-8: الحروف العربية والهندية والصينية والرموز التعبيرية تبقى سليمة ذهابًا وإيابًا.
- يُضاف حشو Base64 الناقص ويُبلَّغ عنه، ولا يُصحَّح بصمت أبدًا.
- البايتات التي ليست نصًا تُعرض بالست عشري بدل رموز مشوّهة.
- نقرة واحدة لإعادة المخرجات كمدخلات وعكس الاتجاه.

## كيف يعمل

1. اختر الصيغة وحدّد الترميز أو فك الترميز.
2. الصق نصك، وتتحدث النتيجة أثناء الكتابة.
3. انسخ المخرجات أو استخدمها كمدخلات تالية.

## مثال عملي: قراءة JWT

رمز JSON Web Token مكوّن من ثلاثة أجزاء بترميز Base64URL تفصل بينها نقاط: الرأس والحمولة والتوقيع. الصق الجزء الأوسط واختر Base64URL وفك الترميز، فترى حقول JSON مثل معرّف المستخدم ووقت الانتهاء exp (طابع زمني يونكس يمكنك قراءته بمحوّل الطابع الزمني يونكس). فك الترميز ليس تحققًا: أي شخص يستطيع قراءة حمولة JWT، ولا يثبت عدم تغييرها إلا فحص التوقيع على الخادم.

## الحالات التي تسبب المتاعب في العمل

Base64 الذي حُذف حشوه، وهو ما تفعله بعض الأنظمة لتوفير المساحة، يفشل في أدوات فك الترميز الصارمة؛ هذه الأداة تضيف علامات = الناقصة وتخبرك بذلك. كثير من الخوادم تعتبر + في سلسلة الاستعلام مسافة، لذا تصل قيمة Base64 الملصقة في رابط دون ترميز تالفة؛ رمّزها كمكوّن URL أو استخدم Base64URL. النص المرمّز مرتين يظهر بشكل %2520 أو &amp;amp; ويحتاج إلى فك الترميز مرتين.

## ما الذي يقبله كل مفكّك

يتجاهل فك ترميز Base64 المسافات وفواصل الأسطر، لذا تُفك القيمة المقسّمة على عدة أسطر، كما في البريد الإلكتروني، كما لُصقت تمامًا. يقبل Base64URL أيضًا + و/، أما Base64 العادي فيرفض - و_، لذا يحتاج جزء JWT إلى خيار Base64URL. يتخطى فك ترميز hex المسافات والنقطتين والفواصل والشرطات والبادئة 0x، لذا يعمل كل من 48:65:6c:6c:6f و0x48 0x65. يحوّل فك ترميز URL علامة + إلى مسافة، لذا يجب أن تصل علامة الجمع الحقيقية بالشكل %2B. يهرّب ترميز HTML الأحرف الخمسة & < > " و'؛ ويفهم فك ترميز HTML كل الكيانات المسمّاة في HTML5 مثل &nbsp; و&hellip;، والكيانات الرقمية مثل &#8377; لرمز الروبية.

## أمثلة محلولة: ماذا ينتج كل تنسيق

ترميز URL هنا يرمّز قيمة واحدة، مثل معامل استعلام واحد، لذلك يُهرَّب كل حرف محجوز: https://example.com/a b?x=1&y=2 يصبح https%3A%2F%2Fexample.com%2Fa%20b%3Fx%3D1%26y%3D2. رمّز فقط القيمة التي تضعها داخل الرابط، وليس الرابط كاملا. النص خارج ASCII يُرمَّز ببايتات UTF-8 الخاصة به: café ₹ يصبح caf%C3%A9%20%E2%82%B9، ويعرض الترميز الست عشري البايتات نفسها، é هي c3 a9 و ₹ هي e2 82 b9. ترميز Base64 لـ user:pass هو dXNlcjpwYXNz، وهي القيمة التي تحملها ترويسة HTTP Basic Authorization (RFC 7617)، ولهذا يستطيع أي شخص يرى تلك الترويسة قراءة كلمة المرور.

## الأسئلة

**لماذا يظهر نصي المفكوك برموز غريبة مثل Ã©؟**

كانت البايتات بترميز UTF-8 لكنها قُرئت في مكان ما على أنها Latin-1 أو Windows-1252 قبل ترميزها. فك الترميز هنا يعرض البايتات كما هي، والإصلاح مكانه النظام الذي أنتجها.

**هل يمكنني فك ترميز ملف كامل؟**

الصق نصًا حتى 200,000 حرف. في الملفات الثنائية مثل الصور، تُعرض البايتات المفكوكة بالست عشري بدل تحويلها إلى ملف للتنزيل.

**هل Base64 تشفير؟**

لا. يغيّر Base64 طريقة كتابة البايتات فقط لتمر عبر أنظمة تتوقع نصًا عاديًا. يستطيع أي شخص فك ترميزه، فلا تستخدمه أبدًا لإخفاء كلمة مرور أو سر.

**ما الفرق بين Base64 وBase64URL؟**

يستبدل Base64URL "+" و"/" بـ "-" و"_" ويحذف عادةً حشو "=", فتصبح النتيجة آمنة داخل عناوين URL وأسماء الملفات. تستخدمه رموز JSON Web Token.

**هل يُحفظ نصي؟**

لا. يُحوَّل ويُعاد في الطلب نفسه، ولا يُكتب أبدًا في قاعدة بيانات أو سجل.

**لماذا يختلف ناتج ترميز URL عن encodeURIComponent في JavaScript؟**

تهرّب هذه الأداة أيضا الرموز ! ' ( ) و * التي يتركها encodeURIComponent كما هي، لذلك يصبح it's (50%) off! هكذا: it%27s%20%2850%25%29%20off%21. يُفك الشكلان إلى النص نفسه، وتهريب هذه الرموز آمن دائما داخل قيمة استعلام. تصبح المسافة %20 وليس +؛ شكل + يأتي من ترميز نماذج HTML، وأداة الفك هنا تقرأ الشكلين.

**كيف أرمّز نصًا بـ Base64 أو أفك ترميزه من سطر الأوامر؟**

على Linux أو Mac، يعطي الأمر echo -n 'Hello, World' | base64 الناتج SGVsbG8sIFdvcmxk، ويعيده الأمر echo 'SGVsbG8sIFdvcmxk' | base64 --decode إلى نص. إذا حذفت -n يضيف echo سطرًا جديدًا يُرمَّز هو أيضًا فيصبح الناتج SGVsbG8sIFdvcmxkCg==، وهذا أكثر سبب شائع لاختلاف أداتين. في PowerShell يرمّز [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('Hello, World')) ويفك [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('SGVsbG8sIFdvcmxk')) الترميز. هذه الصفحة ترمّز الأحرف التي تلصقها كما هي تمامًا بترميز UTF-8 ولا تضيف سطرًا جديدًا.

**كيف أفك ترميز صورة بصيغة Base64 أو رابط data URI؟**

الصق الجزء الذي بعد الفاصلة فقط: في data:image/png;base64,iVBORw0KGgo... هو iVBORw0KGgo...، لأن البادئة data:image/png;base64, ليست Base64 وسيُرفض النص كاملًا. اختر Base64 ثم Decode. تظهر البايتات التي ليست نصًا بصيغة hex بدل رسمها صورة، وهذا يكفي لمعرفة نوع الملف: ملف PNG يبدأ بـ 89 50 4e 47، وJPEG بـ ff d8 ff، وملف .docx أو .xlsx أو أي ملف آخر قائم على ZIP كاملًا بـ 50 4b 03 04. لرؤية الصورة نفسها، الصق رابط data URI كاملًا في شريط عنوان المتصفح. الحد الأقصى للإدخال 200,000 حرف، أي نحو 150,000 بايت من الملف.

**لماذا يكون Base64 أطول من الأصل بنحو الثلث؟**

يكتب Base64 كل 3 بايتات في 4 أحرف ويكمل المجموعة الأخيرة بعلامات = حتى مضاعف للعدد 4 (RFC 4648)، لذا يساوي الناتج 4/3 من بايتات الإدخال مقربًا إلى الأعلى. Hello, World تساوي 12 بايتًا وتصبح 16 حرفًا هي SGVsbG8sIFdvcmxk. العد بالبايتات في UTF-8 لا بالحروف: café أربعة أحرف لكنها 5 بايتات وتصبح Y2Fmw6k=، و₹100 تساوي 6 بايتات وتصبح 4oK5MTAw. ومرفقات البريد الإلكتروني تكبر أكثر قليلًا لأن MIME يقسم Base64 إلى أسطر لا تزيد على 76 حرفًا (RFC 2045)، وهذه الصفحة تتجاهل فواصل الأسطر هذه عند فك الترميز. أما Base64URL بلا حشو فلا يوفر إلا علامات =.

## المزيد في أدوات المطورين

- [محوّل طابع Unix الزمني](https://discuvr.org/timestamp-converter/?hl=ar)
- [صانع مخططات الأنظمة](https://discuvr.org/system-diagram/?hl=ar)
- [منسق JSON](https://discuvr.org/json-formatter/?hl=ar)
- [منسق Python](https://discuvr.org/python-formatter/?hl=ar)

## يُستخدم غالبًا مع

- [مولد كلمات المرور](https://discuvr.org/password-generator/?hl=ar)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
