محوّل ثنائي إلى نص

→
أرقام ثنائية ← 8 بتات لكل بايت بترميز UTF-8 ← حروف مفكوكة

ثنائي إلى نص: فكّ البايتات، واعرف متى لا تستطيع

ما الذي يفعله هذا التحويل

يقرأ تسلسل بايتات ثنائية ويفكّ ترميزه كنص UTF-8. فثماني بتات تصنع بايتاً واحداً، ثم تُفكّ البايتات معاً لأن الحرف الواحد قد يشغل عدة منها. وخطوة فك الترميز هي العمل الحقيقي هنا: فحدود البايتات لا تخبرك بشيء عن حدود الحروف.

كيف يعرف المفكّك أين تنتهي الحروف

تُعلن البتات البادئة لكل بايت دوره. فبايت يبدأ بالصفر يقف وحده، وبايت يبدأ بـ110 يفتح حرفاً من بايتين، و1110 يفتح حرفاً من ثلاثة، و11110 يفتح حرفاً من أربعة، أما بايتات المتابعة فتبدأ بـ10. وهذه البنية هي ما يتيح للمفكّك أن يسير في تدفق دون أن يُخبر أين الحروف، وهي أيضاً ما يجعل تدفقاً قُطع في الموضع الخطأ قابلاً للكشف.

جدول تحويل الثنائي إلى النص

تسلسلات بايتات مع النص الذي تفكّه إليه. والصفوف متعددة البايتات تُظهر نمط البتات البادئة وهو يؤدي عمله، والصف الأخير يُظهر كيف تبدو بايتات خام ليست نصاً قابلاً للطباعة.

ثنائينص
01000001A
01100001a
01001000 01101001Hi
01001111 01001011OK
00110001 00110010 00110011123
11100100 10111000 10101101中

من أين يأتي النص المشوّه

النص المشوّه يعني دائماً تقريباً أن البايتات فُكّت بترميز خاطئ أو قُطعت عند إزاحة خاطئة. ففكّ UTF-8 كأنه ترميز أحادي البايت يحوّل حرفاً من ثلاثة بايتات إلى ثلاثة رموز لا علاقة بينها، وإسقاط بايت واحد من المقدمة يزيح كل حرف تالٍ. والخطأان يبدوان كترقيم عشوائي، وكلاهما يُشخَّص بالنظر إلى البايتات لا إلى الحروف.

حافظ على تجميع البايتات سليماً

انسخ مجموعات كاملة من ثمانية أرقام. فالبدء من منتصف بايت ينتج تسلسلاً لا يستطيع المفكّك فهمه، والخطأ الذي يليه دقيق في وصفه لكنه لا يشير بوضوح إلى أن اللصق بدأ في الموضع الخطأ.

الأسئلة الشائعة

كيف أفكّ الثنائي إلى نص؟

قسّم الثنائي إلى مجموعات من ثمانية أرقام، وعامل كل مجموعة كبايت واحد، ثم فكّ البايتات بترميز UTF-8. فالحرف A هو 01000001، فتتحول مجموعة واحدة إلى حرف واحد، ويتحول التسلسل الأطول إلى سلسلة أطول مع حروف تشغل عدة مجموعات.

لماذا أحصل على خطأ بدل حروف غريبة؟

لأن تسلسل البايتات ليس UTF-8 صالحاً — قد يكون مقطوعاً أو خارج الترتيب أو ليس نصاً أصلاً. ورفضه مقصود: فالبديل هو استبدال محارف بديلة، فينتج مخرج يبدو كمشكلة ترميز حتى حين تكون المشكلة الحقيقية أن البايتات لم تكن نصاً قط.

هل أستطيع لصق ثنائي بلا مسافات بين البايتات؟

نعم. فالتسلسل المتصل الذي طوله من مضاعفات الثمانية يُقسَّم إلى بايتات تلقائياً، والثنائي المنسوخ من مصدر يحذف الفواصل يُحوَّل دون إعادة تنسيق. والصيغتان، بمسافات وبلا مسافات، تعنيان الشيء نفسه.

ماذا يعني بايت فوق 127 بمفرده؟

يعني أنه جزء من حرف متعدد البايتات لا حرف قائم بذاته. والبايت الوحيد في هذا المدى لا معنى صالحاً له في UTF-8 ويُرفض، وهذا هو الرد الصحيح — فالحرف الذي ينتمي إليه ناقص.

هل يعمل هذا مع نص بأي لغة؟

نعم، مع أي شيء يستطيع UTF-8 تمثيله، وهو فعلياً كل نظام كتابة مستخدم اليوم، بما في ذلك الأبجديات اللاتينية المشكَّلة والسيريلية والعربية والصينية واليابانية والكورية والرموز التعبيرية. والتسلسل الذي تنتجه أداة النص إلى ثنائي في هذا الموقع سيُفكّ دائماً إلى النص نفسه الذي بدأت به بالضبط.

انسخ الكود أدناه والصقه في موقعك الإلكتروني لإضافة هذه الأداة.

<!-- ثنائي إلى نص -->
<iframe src="https://unitflow.net/ar/embed/binary-to-text" title="ثنائي إلى نص" width="100%" height="420" loading="lazy" style="border:0;max-width:100%;display:block"></iframe>
<p><a href="https://unitflow.net/ar/binary-to-text" target="_blank" rel="noopener">مدعوم من يونيت فلو</a></p>