> encode | decode | safe <

// ترميز Base32 لنقل البيانات المتوافق مع RFC

[SIMPLE]

Easy to Use

Simple interface for instant Base32 encoding and decoding. No technical knowledge required.

[SECURE]

Local Processing

All conversions happen in your browser. Your data never leaves your device.

[READABLE]

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.

// مرجع سريع

المدخلBase32Base64
fMY======Zg==
foMZXQ====Zm8=
fooMZXW6===Zm9v
foobMZXW6YQ=Zm9vYg==
foobaMZXW6YTBZm9vYmE=
foobarMZXW6YTBOI======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.