ترميز وفك Base64

نص إلى Base64 والعكس، بالعربية سليمة وبصيغة Base64url أيضًا.

الحروف العربية تُرمَّز بـ UTF-8 أولًا، فتعود كما هي عند الفك في أي لغة برمجة.

عن الأداة

Base64 يكتب البايتات بأربعة وستين محرفًا آمنة (الحروف والأرقام و + و /)، حتى تمر البيانات عبر قنوات لا تنقل إلا النصوص: رسائل البريد، وملفات JSON وXML، وحقول قواعد البيانات، وروابط data:. كل ثلاثة بايتات تصير أربعة محارف، فيكبر الحجم بنحو 33%.

الحروف العربية هنا تُحوَّل أولًا إلى بايتات بترميز UTF-8 ثم إلى Base64، وهذا ما تفعله كل اللغات الحديثة، فيعود النص كما هو عند فكه في بايثون أو PHP أو جافاسكربت. أما الدالة ⁦btoa()⁩ في المتصفح فترفض الحروف غير اللاتينية لأنها تتوقع بايتات فقط، وهذا سبب الخطأ المشهور ⁦InvalidCharacterError⁩.

صيغة Base64url تستبدل ⁦+⁩ و⁦/⁩ بـ ⁦-⁩ و⁦_⁩ وتحذف علامات ⁦=⁩، لأن هذه المحارف لها معنى خاص داخل الروابط. وهي الصيغة المستخدمة في أجزاء JWT وفي معاملات الروابط.

أسئلة شائعة

هل Base64 تشفير يحمي البيانات؟

لا. Base64 ترميز لا تشفير: أي أحد يفكه في ثانية بلا مفتاح. لا تضع فيه كلمات مرور ولا بيانات حساسة ظنًا أنها محمية.

لماذا تظهر الحروف العربية رموزًا غريبة بعد الفك؟

لأن الطرف الذي رمّزها استخدم ترميزًا غير UTF-8 (مثل Windows-1256)، أو لأن البرنامج الذي يفك يقرأ البايتات كـ ISO-8859-1. تأكد أن الطرفين يستخدمان UTF-8.

ما فائدة علامات = في آخر النص؟

هي حشو يكمل الطول إلى مضاعفات الأربعة. أغلب المكتبات تقبل النص بدونها، والأداة هنا تضيفها تلقائيًا عند الفك.