تبدیل مبنای کد های اسکی ASCII

- تبدیل مبنا و اسکی
- ماشینحساب مبنای اعداد
ورودیها
خروجیها
| ورودی | کد دهدهی | خروجی |
|---|
نحوه محاسبه
در حالت «متن ← کد اسکی»، کد عددی هر کاراکتر (دهدهی) با تابع استاندارد کدپوینت یونیکد به دست میآید و سپس به مبنای انتخابی تبدیل میشود. در حالت «کد اسکی ← متن»، عملیات معکوس انجام میشود. در حالت «تبدیل مبنای اعداد»، عدد ابتدا از مبنای مبدأ به دهدهی و سپس با تقسیمهای متوالی به مبنای مقصد تبدیل میشود (با دقت کامل، حتی برای اعداد بسیار بزرگ).
تبدیل مبنای کد های اسکی ASCII ، اگر تا به حال حین برنامهنویسی، کار با شبکه یا حتی یک تمرین درسی به این فکر افتادهاید که «این عدد باینری معادل چه چیزی در دهدهی است؟» یا «کد اسکی این حرف چند است؟»، احتمالاً چند دقیقه وقت صرف محاسبه دستی یا جستوجو کردهاید. ابزار تبدیل مبنای کد اسکی که در بالای همین صفحه قرار دارد، دقیقاً برای رفع همین نیاز طراحی شده است. با این ابزار میتوانید هم تبدیل مبنای اعداد را بین هر دو مبنای دلخواه از 2 تا 36 انجام دهید، هم متن به کد اسکی تبدیل کنید و هم برعکس، کد اسکی به متن تبدیل کنید؛ همهی اینها در چند ثانیه و بدون نیاز به مراجعه به جدول کد اسکی یا محاسبهی دستی.
در ادامه قدمبهقدم توضیح میدهیم این ابزار چطور کار میکند، هر حالت آن چه کاربردی دارد و با چند مثال واقعی نشان میدهیم چطور میتوانید از آن بیشترین بهره را ببرید.
این ابزار چیست و چه کاربردی دارد؟
این ابزار در واقع سه ابزار کوچک را در یک رابط واحد جمع کرده و بین آنها میتوانید با یک کلیک جابهجا شوید:
- تبدیل مبنای اعداد: یک عدد را از یک مبنای دلخواه به مبنای دیگری تبدیل میکند؛ مثلاً از باینری به هگزادسیمال، یا حتی از مبنای 7 به مبنای 29.
- متن به کد اسکی: هر کاراکتری که تایپ کنید را به کد عددی آن (بر اساس کدپوینت یونیکد) تبدیل میکند، در هر یک از چهار مبنای باینری، اوکتال، دهدهی یا هگزادسیمال.
- کد اسکی به متن: دقیقاً برعکس حالت قبلی عمل میکند و کدهای عددی را به متن خوانا برمیگرداند.
نکتهی مهم این است که محاسبات تبدیل مبنا با دقت کامل انجام میشود، حتی برای اعدادی که چند رقمی و بسیار بزرگ هستند؛ برخلاف بسیاری از ماشینحسابهای ساده که در اعداد بزرگ دچار خطای گرد کردن میشوند.
کسانی که با کدهای رنگ HEX در طراحی وب، آدرس حافظه در برنامهنویسی سطح پایین، یا حتی جدول کد اسکی برای رمزگشایی داده سروکار دارند، معمولاً بیشترین استفاده را از این ابزار میبرند.
نحوه استفاده از ابزار
مرحله 1: انتخاب نوع تبدیل
از بالای فرم، یکی از سه گزینهی «تبدیل مبنای اعداد»، «متن ← کد اسکی» یا «کد اسکی ← متن» را انتخاب کنید. بهصورت پیشفرض، حالت تبدیل مبنای اعداد فعال است.
مرحله 2: پر کردن فیلدهای مربوط به همان حالت
بسته به حالتی که انتخاب کردهاید، فیلدهای ورودی تغییر میکنند:
- در تبدیل مبنای اعداد، عدد مورد نظر را در کادر «عدد را وارد کنید» تایپ کنید، سپس از منوی «از مبنای» مبنای فعلی عدد و از منوی «به مبنای» مبنای مقصد را انتخاب کنید. هر دو منو از 2 تا 36 پوشش میدهند.
- در متن به کد اسکی، متن دلخواه را در کادر ورودی وارد کنید و از منوی «مبنای کد» مشخص کنید کدهای خروجی در چه مبنایی نمایش داده شوند (باینری، اوکتال، دهدهی یا هگزادسیمال).
- در کد اسکی به متن، کدهای عددی را وارد کرده و مبنای همان کدها را از منو انتخاب کنید تا متن اصلی بازسازی شود.
مرحله 3: کلیک روی دکمه تبدیل و بررسی خروجی
پس از زدن دکمهی «تبدیل»، نتیجه در کادر «نتیجه» ظاهر میشود. در حالت تبدیل مبنای اعداد، در کنار نتیجه یک جدول تفصیلی هم نمایش داده میشود که مراحل محاسبه را رقم به رقم نشان میدهد. در حالت متن به کد اسکی، یک جدول سهستونی شامل «ورودی»، «کد دهدهی» و «خروجی» برای هر کاراکتر جداگانه نمایش داده میشود.
دو دکمهی دیگر هم در کنار دکمهی تبدیل قرار دارند: «تعویض جهت» که مبدأ و مقصد را در تبدیل مبنای اعداد جابهجا میکند تا لازم نباشد دوباره منوها را دستی عوض کنید، و «پاک کردن» که تمام فیلدها را ریست میکند. همچنین با دکمهی «کپی نتیجه» میتوانید خروجی نهایی را مستقیم در کلیپبورد کپی کنید.
فرمول و منطق محاسباتی ابزار
منطق پشت تبدیل مبنای اعداد در این ابزار ساده اما دقیق است. ابتدا عدد ورودی، صرفنظر از مبنای اصلیاش، به دهدهی تبدیل میشود؛ یعنی هر رقم در توانی از مبنای مبدأ ضرب و با هم جمع میشود. برای مثال، عدد باینری 101101 اینطور به دهدهی تبدیل میشود:
[[:101101_2 = 1×32 + 0×16 + 1×8 + 1×4 + 0×2 + 1×1 = 45:]]
بعد از رسیدن به مقدار دهدهی، ابزار با تقسیمهای متوالی همین عدد بر مبنای مقصد، رقمهای عدد نهایی را از آخر به اول به دست میآورد؛ همان جدول تقسیمی که در بخش خروجیها میبینید دقیقاً همین فرایند را نشان میدهد. برای متن به کد اسکی هم منطق فرق دارد: هر کاراکتر ابتدا با استاندارد کدپوینت یونیکد به یک عدد دهدهی تبدیل میشود، مثلاً حرف A برابر با کد دهدهی 65 است، و سپس همان عدد در صورت نیاز به مبنای دلخواه شما (مثل هگزادسیمال) بازنویسی میشود. در حالت کد اسکی به متن، دقیقاً همین مسیر برعکس طی میشود.
مثالهای کاربردی
مثال 1: تبدیل یک عدد هگزادسیمال به دهدهی
فرض کنید با یک کد رنگ وب سروکار دارید و عدد FF را دارید. در بخش تبدیل مبنای اعداد، مبنا را 16 و مقصد را 10 انتخاب میکنید. نتیجه 255 خواهد بود؛ همین عدد 255 دلیل این است که در کدهای رنگ RGB همیشه بیشترین مقدار هر کانال به 255 میرسد.
مثال 2: تبدیل عدد باینری به اوکتال
عدد باینری 101101 را در نظر بگیرید. با انتخاب مبدأ 2 و مقصد 8، ابزار همانطور که در فرمول بالا دیدید ابتدا آن را به دهدهی (یعنی 45) تبدیل میکند و سپس با تقسیمهای متوالی بر 8 به عدد 55 در مبنای هشت میرسد.
مثال 3: تبدیل متن به کد اسکی هگزادسیمال
اگر کلمهی Hi را در حالت متن به کد اسکی وارد کنید و مبنای کد را روی 16 بگذارید، ابزار برای هر حرف کد دهدهی و معادل هگز آن را میدهد: حرف H با کد دهدهی 72 معادل هگز 48 است، و حرف i با کد دهدهی 105 معادل هگز 69 است. در نتیجه خروجی نهایی چیزی شبیه 48 69 خواهد بود، دقیقاً همانطور که در جدول ابزار نمایش داده میشود.
نکات مهم و اشتباهات رایج
- مبنای عدد را درست انتخاب کنید. اگر عددی مثل 29 را در مبنای 8 وارد کنید خطا میگیرید، چون رقم 9 در مبنای اوکتال معتبر نیست؛ مبنای اوکتال فقط ارقام 0 تا 7 را میپذیرد.
- در مبناهای بالاتر از 10 (تا 36)، حروف الفبا هم بهعنوان رقم بهکار میروند؛ یعنی A تا Z معادل ارقام 10 تا 35 هستند. برای عددی مثل 1A3F همینطور بدون فاصله یا کاراکتر اضافه تایپ کنید.
- اگر میخواهید سریع جهت تبدیل مبنا را عوض کنید، بهجای وارد کردن دوبارهی عدد، از دکمهی «تعویض جهت» استفاده کنید.
- در تبدیل متن به کد اسکی، فاصلهها و علائم نگارشی هم کد اسکی مخصوص به خود را دارند و در جدول خروجی لحاظ میشوند؛ پس اگر جملهای چندکلمهای وارد کنید، کد مربوط به فاصله هم دیده میشود.
- برای اعداد خیلی بزرگ نگران دقت محاسبه نباشید؛ ابزار برخلاف بسیاری از ماشینحسابهای آنلاین، تبدیل مبنا را بدون خطای گرد کردن یا سرریز انجام میدهد.
- اگر بهجای رمزگشایی مستقیم، فقط به دنبال جدول کد اسکی برای مراجعه سریع هستید، کدهای دهدهی، هگز و اوکتال کاراکترهای استاندارد از 0 تا 127 را میتوانید با همین ابزار، کاراکتر به کاراکتر، به دست بیاورید.
سوالات متداول
بله. در بخش تبدیل مبنای اعداد، هر مبنایی بین 2 تا 36 را هم بهعنوان مبدأ و هم مقصد میتوانید انتخاب کنید، نه فقط چهار مبنای رایج.
کد اسکی، عدد دهدهی معادل هر کاراکتر است که بر اساس کدپوینت یونیکد (که اسکی زیرمجموعهی آن است) تعیین میشود. ابزار همین کدپوینت را برای هر کاراکتر حساب میکند و در صورت نیاز به مبنای دلخواه شما تبدیل میکند.
بله، چون ابزار از کدپوینت یونیکد استفاده میکند، هر کاراکتری از جمله حروف فارسی هم کد عددی مخصوص به خود را دارد؛ هرچند اسکی استاندارد بهطور سنتی فقط 128 کاراکتر انگلیسی و علائم پایه را پوشش میدهد.
معمولاً دلیلش این است که رقمی وارد کردهاید که در آن مبنا معتبر نیست؛ مثلاً رقم 8 در مبنای اوکتال وجود ندارد، یا حرف G در مبنای هگزادسیمال نامعتبر است.
این دکمه فقط مبدأ و مقصد را در تبدیل مبنای اعداد جابهجا میکند تا سریعتر بتوانید تبدیل معکوس را انجام دهید، بدون نیاز به پیدا کردن دوبارهی مبنای درست در منو.
بله؛ با کلیک روی دکمهی «کپی نتیجه»، خروجی نهایی بلافاصله در کلیپبورد ذخیره میشود و میتوانید در هر برنامهی دیگری پیست کنید.
جمعبندی
چه در حال آمادهشدن برای یک امتحان مدار منطقی باشید، چه برنامهنویسی که با کدهای رنگ هگز سروکار دارد، یا صرفاً کنجکاوید ببینید کد اسکی اسمتان چیست، ابزار تبدیل مبنای کد های اسکی ASCII در چند ثانیه جواب دقیق را در اختیارتان میگذارد. کافی است حالت مورد نظر را انتخاب کنید، مقادیر را وارد کنید و دکمهی تبدیل را بزنید؛ چه دنبال تبدیل مبنای اعداد باشید، چه متن به کد اسکی، چه برعکس، همه در یک صفحه و بدون نیاز به جدول کد اسکی جداگانه در دسترس شماست.