مبدل مبنا: اعشاری، Hex، Base32، Base64
تبدیل اعداد بین اعشاری و Base16 (هگز)، Base32 و Base64 در هر دو جهت، با تشخیص خودکار مبنا. یک عدد را کدگذاری یا یک مقدار کدگذاریشده را رمزگشایی کنید.
مبدل پایه دوطرفه
تبدیل بین اعداد دهدهی و کدگذاریهای پایه استاندارد (پایه۱۶/هگز، پایه۳۲، پایه۶۴). برای تبدیل، مقداری را در هر فیلد وارد کنید.
یک عدد صحیح مثبت وارد کنید (حداکثر: ۹,۰۰۷,۱۹۹,۲۵۴,۷۴۰,۹۹۱)
مقدار کدگذاری شده پایه۱۶، پایه۳۲ یا پایه۶۴ را وارد کنید
درباره کدگذاریهای پایه
مستندات
مبدل دوطرفه مبنا: اعشاری ↔ Base16، Base32، Base64
مبدل مبنا (base converter) عددی را از یک شیوهٔ نوشتن به شیوهٔ دیگر تبدیل میکند. رایانهها، نشانیهای اینترنتی (URL) و قالبهای داده بهندرت یک عدد اعشاری ساده را ذخیره میکنند — آنها عدد را در قالبی فشردهتر یا امن برای انتقال بستهبندی میکنند، مانند Base16 (هگزادسیمال)، Base32 یا Base64. این ابزار هر دو جهت را تبدیل میکند: یک عدد اعشاری وارد کنید تا شکل Base16/Base32/Base64 آن را ببینید، یا یک مقدار کدگذاریشده را جایگذاری کنید تا عدد اعشاری آن را دریافت کنید. همچنین تشخیص میدهد که یک مقدار کدگذاریشده در کدام مبنا نوشته شده است.
منظور از «مبنا» چیست
هر سامانهٔ عددنویسی مکانی دارای یک مبنا (یا ریشه) است — یعنی تعداد نمادهای متمایزی که برای نوشتن یک رقم بهکار میرود. اعشاری مبنای ده است (نمادهای 0-9). کدگذاریهای این ابزار مجموعهٔ نمادهای بزرگتری را در ازای رشتهای کوتاهتر بهکار میگیرند:
- Base16 (هگزادسیمال) — نمادهای
0-9وA-F. هر نویسه 4 بیت حمل میکند. این مبنا برای کدهای رنگ (#FF0000)، نشانیهای حافظه و هشها بسیار رایج است. - Base32 — نمادهای
A-Zو2-7(RFC 4648). هر نویسه 5 بیت حمل میکند. نسبت به حروف بزرگ و کوچک حساس نیست و فاقد نویسههای بهآسانی قابلاشتباه است، بنابراین خواندن با صدای بلند یا تایپ دستی آن را بدون خطا ممکن میسازد. - Base64 — نمادهای
A-Z،a-z،0-9،+و/(RFC 4648). هر نویسه 6 بیت حمل میکند. روش استاندارد برای انتقال دادههای دودویی از طریق کانالهای فقطمتنی مانند ایمیل یا یک فیلد JSON است.
هرچه مبنا بزرگتر باشد، همان عدد به نویسههای کمتری نیاز دارد — اما الفبای بزرگتری هست که باید مراقبش بود.
نحوهٔ استفاده از مبدل
این ابزار دو فیلد دارد و در هر کدام که تایپ کنید کار میکند:
- اعشاری ← کدگذاریشده. یک عدد صحیح مثبت در فیلد اعشاری وارد کنید. ابزار مقدار را همزمان در Base16، Base32 و Base64 نمایش میدهد.
- کدگذاریشده ← اعشاری. یک مقدار Base16، Base32 یا Base64 را در فیلد کدگذاریشده جایگذاری کنید. ابزار مبنا را تشخیص میدهد، نویسهها را اعتبارسنجی میکند و عدد اعشاری را بازمیگرداند.
بازه و اعتبارسنجی
مقادیر به بزرگترین عدد صحیح ایمن جاوااسکریپت، یعنی 9007199254740991 (که برابر است با 2^53 − 1)، محدود میشوند. بالاتر از این مقدار، اعداد صحیح دیگر نمیتوانند دقیقاً نمایش داده شوند، بنابراین مبدلی که همچنان ادامه دهد بیصدا رقمهای نادرست بازمیگرداند — بهجای حدس زدن، ابزار خطای خارج از بازه گزارش میدهد. ورودی اعشاری باید یک عدد صحیح نامنفی باشد؛ ورودی کدگذاریشده باید فقط از نویسههای معتبر برای مبنای خود استفاده کند، وگرنه ابزار بهجای رمزگشاییِ دادهای نامعتبر، آن را پرچمگذاری میکند.
نمونههای حلشده
- 255 در حالت اعشاری. Base16 =
FF، زیرا 255 = 15×16 + 15 و هر دو رقمFهستند. به همین دلیل#FFFFFFسفید است: سه بایت که هرکدام در بیشینهٔ خود قرار دارند. - 1000 در حالت اعشاری. Base16 =
3E8(3×256 + 14×16 + 8 = 1000). - رمزگشایی
FF. بهعنوان Base16 تشخیص داده میشود و به 255 رمزگشایی میشود. - یک بایت در بیشینه، یعنی 8 بیت، در حالت هگزادسیمال
FFاست — هر نویسهٔ هگز معادل 4 بیت است، پس هر بایت دو نویسه نیاز دارد. همین بایت در Base32 به رشتهای طولانیتر و در Base64 به گروهی با پدینگ نیاز دارد؛ به همین دلیل هگز برای مقادیر کوتاهی مانند رنگها و نشانیها گزینهٔ خواناتر باقی میماند.
کاربرد هر کدگذاری
- Base16 — رنگهای CSS/HTML، نشانیهای MAC و IPv6، هشها و چکسامهای رمزنگاری، و دامپ هگز فایلهای دودویی.
- Base32 — کلیدهای مخفی TOTP/تأیید دومرحلهای (2FA)، برخی سامانههای اشتراکگذاری فایل و مبتنی بر DNS، و شناسههایی که بهصورت دستی تایپ یا با صدای بلند خوانده میشوند و باید از اشتباه گرفتن حروف بزرگ/کوچک و نویسههای مشابه در امان بمانند.
- Base64 — نشانیهای
data:، پیوستهای ایمیل (MIME)، جایگذاری تصاویر یا گواهیها درون JSON یا XML، و توکنهای JWT.
از آنجا که هر کدگذاری صرفاً یک نمایش از همان عدد زیرین است، تبدیل میان آنها هرگز مقدار را تغییر نمیدهد — فقط تعداد نویسههای لازم برای نوشتن آن و کانالهایی که میتواند با خیال راحت از آنها عبور کند تغییر میکند.