تبدیل متن به هگز چیست؟
کامپیوترها برای ذخیره و انتقال متن، هر کاراکتر را به یک عدد تبدیل میکنند (مثلاً استاندارد Unicode). اما نمایش این اعداد به صورت باینری (صفر و یک) بسیار طولانی و سخت است. به همین دلیل از سیستم هگزادسیمال (مبنای ۱۶) استفاده میشود. در این سیستم، هر بایت اطلاعات به جای ۸ رقم باینری، تنها با ۲ رقم هگز نمایش داده میشود که خواندن و دیباگ کردن آن برای مهندسان بسیار سادهتر است.
فرآیند تبدیل (زیر کاپوت)
فرآیند تبدیل متن به هگز در سه مرحله انجام میشود:
- یافتن کد عددی کاراکتر (Code Point) در جدول یونیکد.
- تبدیل آن عدد به بایتهای UTF-8 (یک تا چهار بایت).
- تبدیل هر بایت به مبنای ۱۶ (Hex).
مثال: حرف "M" (کد اسکی 77)
نمونههای تبدیل شده
کلمه "سلام"
مشاهده میکنید که هر حرف فارسی به ۲ بایت تبدیل شده است.
وبسایت "Google"
اشتباهات متداول
- !نادیده گرفتن انکودینگ: متن فارسی در انکودینگهای قدیمی (مثل windows-1256) کد هگز متفاوتی نسبت به UTF-8 تولید میکند. استاندارد وب UTF-8 است.
- !اشتباه با Base64: هگز فقط شامل ۰-۹ و A-F است و طول خروجی آن همیشه بزرگتر از متن اصلی است، در حالی که Base64 برای فشردهسازی نسبی استفاده میشود.
پرسشهای متداول
آیا فاصله (Space) هم کد هگز دارد؟▼
بله، فاصله یک کاراکتر معتبر است و کد هگز آن در استاندارد اسکی 20 میباشد.
چرا خروجی هگز را معمولاً دو رقمی مینویسند؟▼
زیرا در حافظه کامپیوتر، کوچکترین واحد آدرسدهی «بایت» است و یک بایت (۸ بیت) دقیقاً با دو رقم هگزادسیمال (از 00 تا FF) قابل نمایش است.
