ترميز وفك ترميز Base64
حوّل النصوص والملفات إلى Base64 والعكس. يتعامل مع Unicode بشكل صحيح، ويدعم base64url الآمن للروابط، ويخبرك بالضبط لماذا تفشل المدخلات غير الصالحة.
يعمل في متصفحكبدون تسجيللا يُرفع شيء
طريقة استخدام ترميز وفك ترميز Base64
- اختر ترميز أو فك الترميز.
- اكتب المدخلات أو الصقها. تتحدث النتيجة أثناء الكتابة.
- لعناوين URL ورموز JWT وأسماء الملفات، فعّل آمن للروابط لاستخدام
-و_، ويمكنك اختياريًا حذف حشو=. - لتضمين صورة أو خط، انقر ترميز ملف وأبقِ خيار إخراج كـ data URI مفعّلًا.
- انسخ النتيجة، أو استخدم تبديل لإعادتها كمدخلات في الاتجاه المعاكس.
كيف يعمل Base64
يمثّل Base64 البيانات الثنائية باستخدام 64 حرف ASCII قابلًا للطباعة: A-Z وa-z و0-9 و+ و/. كل 3 بايتات من المدخلات تصبح 4 أحرف، لذا تكون البيانات المرمَّزة أكبر بنحو 33%. وعندما لا يكون طول المدخلات من مضاعفات 3، تُحشى المخرجات بعلامة = واحدة أو اثنتين. إن Base64 ترميز وليس تشفيرًا: يمكن لأي شخص فك ترميزه.
Base64 القياسي مقابل base64url
للحرفين + و/ معنى خاص في عناوين URL ومسارات الملفات. تستبدلهما الأبجدية الآمنة للروابط من RFC 4648 §5 بـ - و_ وعادةً ما تحذف الحشو. تستخدم رموز JWT والعديد من معاملات OAuth وبعض واجهات API السحابية صيغة base64url. ويقبل فك الترميز هنا الأبجديتين تلقائيًا.
Unicode ومشكلة btoa()
في المتصفحات، تعمل btoa("café") لكن btoa("日本") تُطلق خطأ، لأن btoa لا تقبل إلا Latin-1. والطريقة الصحيحة هي ترميز النص إلى بايتات UTF-8 أولًا، وهذا ما تفعله هذه الأداة. في JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text)))، أو Buffer.from(text).toString('base64') في Node.js.
استخدامات شائعة
- عناوين Data URI للصور والخطوط الصغيرة في CSS أو HTML
- ترويسات مصادقة HTTP Basic (
user:passwordمرمَّزة) - المرفقات الثنائية في حمولات JSON والبريد الإلكتروني (MIME)
- Kubernetes Secrets، التي تخزّن القيم بصيغة Base64