طريقة الاستخدام
- اكتب النص أو الصقه في مربع المدخلات.
- تتحدّث جميع الترميزات أثناء الكتابة: الثنائي والثماني والعشري والست عشري وأنواع Base32 ومن Base36 إلى Base91، إضافة إلى uuencode وxxencode.
- قارن بين المخرجات لتعرف أيها الأقصر، أو أيها يقتصر على الأحرف المقبولة لديك.
- انقر «نسخ» بجوار النتيجة التي تحتاج إليها.
جميع الترميزات من مدخلات واحدة
يحوّل كل ترميز في هذه الصفحة البايتات نفسها إلى مجموعة مختلفة من الأحرف. وعرضها جنبًا إلى جنب هو أسرع طريقة لاختيار ترميز لمشروعك، أو للتعرّف على سلسلة صادفتها في سجل أو ملف إعدادات، أو لفهم الفروق بين الصيغ. يُرمَّز نصك على هيئة بايتات UTF-8، لذا يُحسب الحرف اللاتيني ذو العلامة الصوتية (مثل é) بايتين، والحرف الصيني ثلاثة بايتات. ويجري كل شيء داخل متصفحك.
- أرقام لكل بايت. يكتب الترميز الثنائي والثماني والعشري كل بايت على حدة. وهي سهلة القراءة لكنها طويلة.
- مجموعات البتات. يمنح الست عشري وBase32 (مع Base32hex وCrockford وz-base-32) وBase64 وBase64URL كل حرف عددًا ثابتًا من البتات، لذا يعتمد طول المخرجات على طول المدخلات فقط.
- الأعداد الكبيرة. يعامل Base36 وBase58 وBase62 المدخلات كلها على أنها عدد صحيح واحد كبير. وقد يختلف الطول بحرف واحد بحسب القيمة، وتُحفظ بايتات الصفر البادئة على هيئة أحرف بادئة.
- الكتل. يحوّل Base45 كل بايتين إلى 3 أحرف، ويحوّل Ascii85 وZ85 وBase85 كل 4 بايتات إلى 5 أحرف، ويضع Base91 في كل زوج من الأحرف 13 أو 14 بتًا.
- الأسطر. uuencode وxxencode صيغتان قديمتان من عهد البريد الإلكتروني وUsenet، تكتبان البيانات في أسطر يبدأ كل منها بحرف يدل على الطول.
مقارنة أحجام المخرجات
عدد الأحرف التي يحتاج إليها كل ترميز لكل بايت من المدخلات، والطول الذي تصل إليه قيمة من 32 بايتًا، مثل تجزئة SHA-256 أو مفتاح Ed25519 العام:
| الترميز | عدد الأحرف لكل بايت | طول 32 بايتًا بعد الترميز |
|---|---|---|
| Base16 (ست عشري) | 2.0 | 64 |
| Base32 | 1.6 | 56 (52 بدون حشو) |
| Base36 | نحو 1.55 | 49 أو 50 |
| Base45 | 1.5 | 48 |
| Base58 | نحو 1.37 | 43 أو 44 |
| Base62 | نحو 1.34 | 42 أو 43 |
| Base64 | نحو 1.33 | 44 (43 بدون حشو) |
| Base85 | 1.25 | 40 |
| Base91 | نحو 1.23 | 39 أو 40 |
الانتقال من الست عشري إلى Base64 يوفّر ثلث الطول. أما الانتقال من Base64 إلى Base91 فلا يوفّر سوى نحو 8% إضافية.
أي ترميز تختار
أقصر المخرجات ليست دائمًا الأفضل. فقد تحتوي مخرجات Ascii85 على علامات اقتباس وشرطات مائلة عكسية، وقد تحتوي مخرجات Base91 على علامات اقتباس مزدوجة، لذا قد يحتاج كلاهما إلى تهريب في JSON أو HTML أو أوامر الصدفة (shell). فكّر في المكان الذي ستُستخدم فيه السلسلة:
- عناوين URL وأسماء الملفات: Base64URL أو Base58 أو Base62.
- القراءة بصوت عالٍ أو الكتابة اليدوية: Crockford Base32 أو Base58، إذ يستبعدان الأحرف المتشابهة في الشكل.
- الأنظمة غير الحساسة لحالة الأحرف: الست عشري أو Base32 أو Base36.
- رموز QR: Base45، الذي لا يستخدم إلا أحرف الوضع الأبجدي الرقمي في رموز QR.
- نص موجز في PDF أو Git أو ZeroMQ: Ascii85 أو Base85 أو Z85.
- أقصى قدر من التوافق: Base64، الذي تدعمه جميع لغات البرمجة والمنصات تقريبًا.
الأسئلة الشائعة
أي ترميز يعطي أقصر مخرجات؟
من بين الترميزات في هذه الصفحة، Base91 هو الأكثر إيجازًا بنحو 1.23 حرف لكل بايت، يليه Ascii85 وZ85 وBase85 بمعدل 1.25. ويحتاج Base64 إلى نحو 1.33، لكنه مدعوم على نطاق أوسع بكثير، ولهذا يُعد الخيار الافتراضي المعتاد.
لماذا يختلف طول نتائج Base58 وBase62 لمدخلات من الحجم نفسه؟
لأنهما يحوّلان المدخلات كلها بوصفها عددًا واحدًا كبيرًا، فيعتمد الطول على قيمته لا على حجمه فقط. كما يضيف كل بايت صفري بادئ حرفًا بادئًا واحدًا. أما الست عشري وBase32 وBase64 فتعطي دائمًا الطول نفسه للعدد نفسه من البايتات.
هل يمكنني فك ترميز سلسلة في هذه الصفحة؟
لماذا تكون المخرجات الثنائية طويلة جدًا؟
يكتب الترميز الثنائي 8 أرقام لكل بايت، إضافة إلى الفواصل، لذا يبلغ طوله أربعة أضعاف طول الست عشري على الأقل. وهو مخصص لفحص البتات منفردة، لا لتخزين البيانات أو إرسالها.
هل يُرسل نصي إلى خادم؟
لا. تُحسب جميع الترميزات بلغة JavaScript داخل متصفحك، ولا يغادر النص جهازك أبدًا.