> encode | decode | safe <
// ترميز Base32 لنقل البيانات المتوافق مع RFC
Easy to Use
Simple interface for instant Base32 encoding and decoding. No technical knowledge required.
Local Processing
All conversions happen in your browser. Your data never leaves your device.
Human-Friendly
Uses only uppercase letters and numbers, avoiding confusing characters like 0, 1, O, I.
// حول ترميز BASE32
كيف يعمل Base32:
Base32 يستخدم 32 حرفاً (A-Z، 2-7) لتمثيل البيانات وفقاً لمعيار RFC 4648. إنه مقاوم للأخطاء ومثالي للبيئات الحساسة لحالة الأحرف.
مثال:
"مرحبا" → JBSWY3DPFQQHO33SNRSCC===
لماذا استخدم Base32:
- >مقاوم للأخطاء
- >غير حساس لحالة الأحرف
- >متوافق مع معيار RFC 4648
- >مثالي لأنظمة الملفات
- >يتجنب الأحرف المشكوك فيها
>> الأسئلة الشائعة
What is Base32 encoding?
Base32 is a base-32 numeral system that uses 32 symbols (A-Z, 2-7) to represent binary data in a human-readable format, avoiding ambiguous characters.
When should I use Base32?
Base32 is ideal when you need human-readable encoding that avoids confusing characters. It's commonly used for authentication tokens, API keys, and user-facing identifiers.
Why doesn't Base32 use all numbers and letters?
Base32 excludes 0, 1, O, and I to avoid confusion between similar-looking characters. This makes it more reliable for manual entry and reading.
What do the equal signs mean?
The equal signs (=) are padding characters used to make the encoded string length a multiple of 8 characters, ensuring proper decoding.
// مرجع سريع
| المدخل | Base32 | Base64 |
|---|---|---|
| f | MY====== | Zg== |
| fo | MZXQ==== | Zm8= |
| foo | MZXW6=== | Zm9v |
| foob | MZXW6YQ= | Zm9vYg== |
| fooba | MZXW6YTB | Zm9vYmE= |
| foobar | MZXW6YTBOI====== | Zm9vYmFy |
// أمثلة برمجية
CLI echo -n foobar | base32
Python base64.b32encode(b'foobar') / base64.b32decode(s)
Go base32.StdEncoding.EncodeToString([]byte("foobar"))
Java new Base32().encodeToString(bytes) // commons-codec
Node.js npm i hi-base32 // no built-in
>> المزيد من الأسئلة
س: ما الفرق بين Base32 وBase64 وBase16؟
ج: الثلاثة معرَّفة في RFC 4648 وتختلف فقط في عدد البتات لكل حرف: Base16 = 4 بتات (زيادة 100%)، Base32 = 5 بتات (60%)، Base64 = 6 بتات (33%). Base32 أطول لكنه مقروء وغير حساس لحالة الأحرف.
س: هل فك ترميز Base32 حساس لحالة الأحرف؟
ج: لا. يحدد RFC 4648 الأبجدية بأحرف كبيرة لكن على أدوات فك الترميز معاملة الأحرف الصغيرة بالمثل. تحوّل هذه الأداة المدخل إلى أحرف كبيرة قبل الفك، لذا يعطي jbswy3dp وJBSWY3DP النتيجة نفسها.
س: أين يُستخدم Base32 عملياً؟
ج: خصوصاً في أسرار TOTP/المصادقة الثنائية (Google Authenticator وAuthy)، وعناوين Tor v3 (56 حرفاً)، ومعرّفات الأنظمة التي لا تميّز حالة الأحرف مثل بعض أنظمة الملفات وتسميات DNS.