تحويل النص إلى ثنائي / سداسي عشري / ASCII
المدخلات
| النص | Hi |
|---|
تحويل النص إلى ثنائي / سداسي عشري / ASCII
أدخل أي نص لعرضه بالنظام الثنائي والسداسي العشري وأكواد الأحرف العشرية. يتبع الثنائي والسداسي العشري تسلسل بايتات UTF-8، بينما يعرض النظام العشري نقطة الترميز اليونيكود لكل حرف — وهي قيمة ASCII المألوفة في النص الإنجليزي البسيط.
المدخلات
النص
النتائج
أدخل قيمة لعرض النتائج.
الترميزات
النص إلى ثنائي / سداسي عشري / ASCII
يُخزَّن النص على هيئة أرقام. فكل حرف يتعامل معه الحاسوب ── حرفٌ أو رقمٌ أو علامة ترقيم أو رمز تعبيري ── له كودٌ رقمي، وهذا الكود يمكن كتابته بالنظام الثنائي أو السداسي العشري أو العشري. تأخذ هذه الحاسبة نصًّا وتعرض الصور الثلاث معًا، لترى بالضبط كيف تتحول الكلمات على الشاشة إلى بتاتٍ على القرص. وهي مفيدة في تتبّع مشكلات الترميز، وبناء جداول البحث، وفهم كيفية عمل أكواد الأحرف، أو لمجرد الفضول لمعرفة ما هي السلسلة النصية في أعماقها.
من الأحرف إلى الأكواد
تُحدِّد مجموعةُ المحارف التطابقَ بين الأحرف والأرقام. وأقدم ما هو شائع الاستعمال هو ASCII، الذي يُسنِد الأكواد الـ 128 من 0 إلى 127 إلى الأحرف اللاتينية غير المشكَّلة والأرقام وعلامات الترقيم الشائعة وبعض أكواد التحكم. فالحرف الكبير H هو 72، والحرف الصغير i هو 105، والمسافة هي 32، والرقم 0 هو 48. أما النص الحديث فيستعمل يونيكود، الذي يوسّع الفكرة نفسها لتشمل كل نظام كتابة ورمز قيد الاستعمال، مع إبقاء أكواد ASCII الأصلية دون تغيير.
وما إن يصبح للحرف كودٌ، حتى تغدو كتابتُه بأساسٍ آخر حسابًا اعتياديًّا. فالرقم 72 هو 01001000 بالنظام الثنائي و48 بالسداسي العشري. تسرد هذه الحاسبة الكود العشري لكل حرف، ثم الصورة الثنائية والسداسية العشرية للبايتات التي تُرمِّزه.
ASCII مقابل UTF-8
لا يغطّي ASCII سوى 128 حرفًا، يتسع كلٌّ منها في بايتٍ واحد. أما UTF-8 فهو الترميز الذي يتيح لنطاق يونيكود الكامل أن يمرّ عبر أنظمةٍ بُنِيَت للتعامل مع البايتات. وخاصيته الجوهرية هي التوافق مع السابق: فكل حرف ASCII يُرمَّز ببايتٍ واحدٍ تمامًا، مطابقٍ لقيمته في ASCII. وكل ما هو خارج نطاق ASCII يتمدّد إلى ما بين بايتين وأربعة بايتات.
ولهذا فإن المخرجات الثنائية والسداسية العشرية هنا مُجمَّعة حسب بايت UTF-8. فالحرف المشكَّل مثل é (نقطة الترميز 233) يُرمَّز بالبايتين C3 A9؛ والحرف الصيني أو الياباني أو الكوري النمطي يشغل ثلاثة بايتات؛ والرمز التعبيري مثل 😀 (نقطة الترميز 128512) يشغل أربعة. أما المخرجات العشرية فتسرد نقطة ترميزٍ واحدة لكل حرف، فيظهر الحرف متعدد البايتات كرقمٍ عشريٍّ واحد وإن كان يشغل عدة بايتات.
قراءة المخرجات
كل مجموعة مفصولة بمسافة في النتيجتين الثنائية والسداسية العشرية هي بايتٌ واحد: ثمانية بتات أو خانتان سداسيتان عشريتان. والتجميع حسب البايت يُبقي حدود الأحرف ظاهرةً، ويسهّل استخراج كود حرفٍ واحد من سلسلةٍ طويلة. ويظهر عددُ الأحرف وعددُ بايتات UTF-8 جنبًا إلى جنب؛ وحين يختلفان، يكون النص محتويًا على أحرفٍ خارج ASCII تتمدّد إلى عدة بايتات.
مثال محلول
لنأخذ النص Hi. كلا الحرفين في نطاق ASCII، فكلٌّ منهما بايتٌ واحد.
الأكواد العشرية هي 72 105، والسداسي العشري هو 48 69، والثنائي هو 01001000 01101001. حرفان وبايتان: يتطابق عدد الأحرف مع عدد البايتات لأن النص ASCII خالص.
ولنأخذ الآن رمزًا تعبيريًّا واحدًا، 😀. هو حرفٌ واحد، لكنه يقع بعيدًا خارج ASCII، عند نقطة الترميز 128512 (U+1F600). ويُرمِّزه UTF-8 بالبايتات الأربعة F0 9F 98 80، فتكون المخرجات الثنائية أربع مجموعاتٍ من 8 بتات، وتكون المخرجات العشرية نقطة الترميز الوحيدة 128512، ويكون عدد البايتات 4 بينما عدد الأحرف 1.
عكس الترميز
العملية بلا فقدان وقابلة للعكس. قسّم الثنائي من جديد إلى بايتاتٍ من 8 بتات، أو اقرأ السداسي العشري خانتين في كل مرة، ثم أعد تجميع تسلسل بايتات UTF-8 وفُكّ ترميزه. وبما أن UTF-8 معيارٌ ثابت، فإن أي أداةٍ متوافقة تعيد بناء النص الأصلي بدقة: فلا تُفقَد أي معلومةٍ عند الانتقال من النص إلى الثنائي والعودة.
حاسبات ذات صلة
لمعرفة كيف يُكتب رقمٌ واحد بالنظام العشري والثنائي والسداسي العشري دون خطوة ترميز الأحرف، استعمل محوّل الأنظمة العددية. ولعرض عنوان IPv4 بطول 32 بت في صوره الصحيحة والسداسية العشرية والثنائية، انظر محوّل تمثيل عنوان IPv4. ولقياس مقدار المعلومات التي تحملها سلسلةٌ نصية، يُقدِّر حاسبة إنتروبيا شانون إنتروبيتها.
الأسئلة الشائعة (FAQ)
كيف يُحوَّل النص إلى نظام ثنائي؟
تخزّن الحواسيب النص على هيئة أرقام. يُسنَد إلى كل حرف كود: الحرف H هو 72، وi هو 105، والمسافة هي 32، وهكذا. تُكتب هذه الأرقام بالأساس 2 (الثنائي) باستخدام الواحدات والأصفار.
بالنسبة للأحرف ضمن نطاق ASCII (الأحرف الإنجليزية والأرقام وعلامات الترقيم الشائعة)، يكون كل حرف بايتًا واحدًا، فيصبح ثمانية بتات. كلمة Hi هي 72 و105، أي بالنظام الثنائي 01001000 و01101001.
ما الفرق بين ASCII وUTF-8؟
ASCII هو النظام الأصلي ذو الـ 7 بتات الذي يغطي 128 حرفًا: الأحرف اللاتينية غير المشكَّلة والأرقام وعلامات الترقيم وأكواد التحكم. يتسع كل حرف من ASCII في بايت واحد.
أما UTF-8 فهو مجموعة أشمل قادرة على تمثيل كل أحرف اليونيكود مع بقائه متوافقًا بايتًا ببايت مع ASCII. تبقى أحرف ASCII بايتًا واحدًا، لكن الأحرف المشكَّلة تشغل عادةً بايتين، ومعظم الأنظمة الكتابية الأخرى ثلاثة بايتات، والرموز التعبيرية أربعة. تعرض هذه الحاسبة الثنائي والسداسي العشري كبايتات UTF-8، ولذلك يُنتج رمز تعبيري واحد أربع مجموعات من 8 بتات بدلًا من مجموعة واحدة.
لماذا تُجمَّع الأرقام بمسافات؟
كل مجموعة مفصولة بمسافة هي بايت واحد: ثمانية بتات في المخرجات الثنائية، وخانتان في المخرجات السداسية العشرية. يجعل التجميع حسب البايت حدود الأحرف ظاهرة، ويسهّل قراءة كود حرف واحد من بين سلسلة طويلة.
أما المخرجات العشرية فتُجمَّع حسب الحرف لا حسب البايت، لذا يظهر الحرف متعدد البايتات كنقطة ترميز واحدة وإن كان يشغل عدة بايتات.
هل يمكن إعادة الثنائي إلى نص؟
نعم. الترميز قابل للعكس: قسّم الثنائي إلى بايتات من 8 بتات، وحوّل كل بايت إلى رقمه، وأعد تجميع تسلسل بايتات UTF-8، ثم فُكّ ترميزه إلى أحرف. وينطبق الأمر نفسه على الصيغة السداسية العشرية. وبما أن UTF-8 معيار محدد بدقة، فإن أي أداة تقرأ UTF-8 ستعيد بناء النص الأصلي تمامًا.
التالي الموصى به
محوّل تمثيل عنوان IPv4
أدخل عنوان IPv4 بالصيغة العشرية المنقّطة لتراه كعدد صحيح من 32 بت، وقيمة ست عشرية، وثنائي منقّط. مفيد لقراءة عمليات التقاط الحزم وبناء قوائم الوصول وفهم كيفية تخزين العناوين.