طريقة الاستخدام
- اختر «ترميز» أو «فك الترميز» في أعلى الأداة.
- اكتب النص أو الصقه، أو انقر «فتح ملف» لترميز أي ملف.
- عدّل «النوع» (قياسي أو آمن لعناوين URL) أو «الحشو» أو «التفاف الأسطر» أو «ترميز النص» عند الحاجة. تتحدّث النتيجة فور الكتابة.
- انسخ النتيجة أو نزّلها، أو اضغط «تبديل المدخلات والمخرجات» لتمريرها في الاتجاه المعاكس.
ما هو Base64؟
يُعدّ Base64 ترميزًا يحوّل البيانات الثنائية إلى نص، إذ يمثّل أي تسلسل من البايتات بـ 64 حرفًا قابلًا للطباعة من أحرف ASCII، وهي: A-Z وa-z و0-9 و+ و/، مع استخدام = للحشو. ويتيح ذلك للبيانات الثنائية، كالصور والمفاتيح والملفات المضغوطة، أن تنتقل بأمان عبر أنظمة صُمّمت للنصوص، مثل البريد الإلكتروني وJSON وXML وعناوين URL وHTML.
يقرأ المُرمِّز المدخلات ثلاثة بايتات (24 بت) في كل مرة، ويقسمها إلى أربع مجموعات كل منها 6 بت. وتحدّد كل قيمة من 6 بت، بين 0 و63، حرفًا واحدًا من الأبجدية. وإذا لم يكن طول المدخلات من مضاعفات الثلاثة، تُحشى المجموعة الأخيرة بعلامة = واحدة أو اثنتين. لذلك تكون مخرجات Base64 دائمًا أكبر من البيانات الأصلية بنحو 33%.
Base64 ترميز وليس تشفيرًا. يستطيع أي شخص فك ترميزه، فلا تستخدمه أبدًا لإخفاء كلمات المرور أو الأسرار.
Base64 وBase64URL
يستخدم Base64 القياسي الحرفين + و/، ولهما معانٍ خاصة في عناوين URL وأسماء الملفات. أما Base64URL، المعرَّف في القسم 5 من RFC 4648، فيضع مكانهما - و_ ويحذف الحشو عادةً. ويُستخدم في JSON Web Tokens وOAuth وفي أي موضع يجب أن توضع فيه القيمة داخل عنوان URL. وتقبل أداة فك الترميز في هذه الصفحة كلتا الصيغتين تلقائيًا.
| Base64 القياسي | Base64URL | |
|---|---|---|
| الحرفان 62 و63 | + / | - _ |
| الحشو | = إلزامي | اختياري، ويُحذف عادةً |
| آمن في عناوين URL وأسماء الملفات | لا | نعم |
| الاستخدام المعتاد | البريد الإلكتروني (MIME)، وdata URI، وJSON، ومفاتيح PEM | JWT، وOAuth، ومعاملات URL |
الاستخدامات الشائعة لـ Base64
- مرفقات البريد الإلكتروني. يرمّز معيار MIME المرفقات بصيغة Base64 مع التفاف الأسطر عند 76 حرفًا في السطر. استخدم خيار «التفاف الأسطر» لإنتاج هذه الصيغة.
- تضمين الصور والملفات. تتيح data URI وضع الصور الصغيرة والخطوط والأيقونات مباشرةً داخل HTML وCSS. راجع تحويل الصورة إلى Base64 وتحويل Base64 إلى صورة.
- واجهات API والإعدادات. لا يتضمن JSON نوعًا للبيانات الثنائية، لذا ترسل واجهات API الملفات والتواقيع والمفاتيح على هيئة سلاسل Base64. كما تخزّن Kubernetes Secrets قيمها بترميز Base64.
- المصادقة. ترسل مصادقة HTTP Basic القيمة
username:passwordبترميز Base64، أما JSON Web Tokens فتتكوّن من ثلاثة مقاطع بترميز Base64URL. - الشهادات والمفاتيح. ملفات PEM هي بيانات DER مرمّزة بـ Base64 مع التفاف الأسطر عند 64 حرفًا في السطر.
Base64 في لغات البرمجة
| اللغة | الترميز | فك الترميز |
|---|---|---|
| JavaScript (المتصفح) | btoa(binaryString) | atob(base64) |
| Node.js | Buffer.from(str).toString('base64') | Buffer.from(b64, 'base64').toString() |
| Python | base64.b64encode(data) | base64.b64decode(data) |
| PHP | base64_encode($str) | base64_decode($b64) |
| Java | Base64.getEncoder().encodeToString(bytes) | Base64.getDecoder().decode(b64) |
| C# | Convert.ToBase64String(bytes) | Convert.FromBase64String(b64) |
| Go | base64.StdEncoding.EncodeToString(b) | base64.StdEncoding.DecodeString(s) |
| سطر الأوامر | base64 file.bin | base64 -d file.txt |
في المتصفحات، لا تقبل الدالة btoa إلا الأحرف حتى U+00FF. ولترميز نص Unicode، كالنص العربي، حوّله أولًا إلى بايتات UTF-8، باستخدام TextEncoder مثلًا، أو استخدم هذه الأداة التي ترمّز النص بصيغة UTF-8 افتراضيًا.
أكثر من Base64
يغطي Base64.is أيضًا بقية عائلة Base-N: Base32 وBase58 وBase62 وBase85 وAscii85 وbasE91 وBase45 والنظام الست عشري والنظام الثنائي. وإذا لم تكن متأكدًا من الترميز الذي تستخدمه سلسلة ما، فجرّب أداة اكتشاف الترميز، أو قارن بين الترميزات كلها دفعة واحدة في صفحة جميع الترميزات.
المواصفات
| الأبجدية | A-Z a-z 0-9 + / |
|---|---|
| حجم المخرجات | 4 أحرف لكل 3 بايتات (نحو 133%) |
| الحشو | بالرمز = حتى يصبح الطول من مضاعفات 4 |
| المعيار | RFC 4648، القسم 4 |
| حساس لحالة الأحرف | نعم |
أمثلة
| المدخلات (UTF-8) | المخرجات |
|---|---|
Hello, World! | SGVsbG8sIFdvcmxkIQ== |
Base64.is | QmFzZTY0Lmlz |
你好 | 5L2g5aW9 |
الأسئلة الشائعة
هل تُرفع بياناتي إلى خادم؟
لا. يجري الترميز وفك الترميز بالكامل داخل متصفحك باستخدام JavaScript. لا تغادر النصوص والملفات التي تدخلها جهازك أبدًا، وتواصل الأداة عملها دون اتصال بالإنترنت بعد تحميل الصفحة.
لماذا يظهر النص بعد فك الترميز مشوّهًا؟
ماذا تعني علامات المساواة في النهاية؟
إنها حشو. يعمل Base64 على كتل من أربعة أحرف، وتملأ العلامة = الكتلة الأخيرة عندما لا يكون طول المدخلات من مضاعفات ثلاثة بايتات. وتعني علامة = واحدة أن الكتلة الأخيرة ترمّز بايتين، بينما تعني علامتان أنها ترمّز بايتًا واحدًا.
بكم يزداد حجم البيانات عند ترميزها؟
يحوّل Base64 كل 3 بايتات إلى 4 أحرف، لذا تكون المخرجات أكبر من المدخلات بنحو 33%، إضافة إلى فواصل الأسطر إذا فعّلت التفاف الأسطر.
هل Base64 نوع من التشفير؟
لا. يغيّر Base64 طريقة تمثيل البيانات فقط، فليس له مفتاح ويستطيع أي شخص فك ترميزه. لحماية المعلومات الحساسة، استخدم تشفيرًا حقيقيًا مثل AES أو TLS.