محول النص ↔ الثنائي
النص
ثنائي
التفاصيل التقنية
كيف يعمل محوّل النص ↔ الثنائي
ما الذي تفعله الأداة
تحوّل أداة النص ↔ الثنائي النص من وإلى تمثيله الثنائي. عند 8 بت لكل حرف يُشفَّر الإدخال كبايتات UTF-8؛ وعند 16 بت لكل حرف تُخرَج كل وحدة ترميز (code unit) مباشرة. تجعل الفواصل (مسافة أو فاصلة أو سطر جديد أو بدون) المخرجات سهلة القراءة أو اللصق. يقبل فك الترميز أي مزيج من هذه الفواصل وحتى سلاسل بتات متصلة طالما أن الطول الكلي مضاعف لحجم مجموعة البتات المُعدّة.
حالات استخدام شائعة للمطورين
يستخدم المعلّمون والطلاب الأداة لتصوّر كيفية ترميز ASCII وUTF-8 للأحرف كبايتات. ويُعدّ مطوّرو الأنظمة المضمنة fixtures اختبار لحمولات الرسائل. ويفك محللو الأمن كتلًا ثنائية منسوخة من الالتقاطات أو من كتابات الهندسة العكسية. كما أنها فحص سريع للسلامة عند تنفيذ مخططاتك الخاصة لتعبئة البتات أو عند شرح ترتيب البايتات (endianness) وترميز الأحرف لزميل.
تنسيقات البيانات أو أنواعها أو متغيراتها
عند 8 بت لكل حرف، تُجري الأداة تحويلًا ذهابًا وإيابًا للنص عبر UTF-8 بحيث تُشفَّر وتُفك شفرة الأحرف ذات العلامات والرموز الصينية/اليابانية/الكورية (CJK) بشكل صحيح (مثلًا: 'é' تصبح 11000011 10101001). وعند 16 بت لكل حرف، تُخرج الأداة وحدات ترميز UTF-16، وهو مفيد عند مطابقة كيفية تمثيل JavaScript للسلاسل داخليًا. الفواصل تجميلية فقط — يقوم مفكك الترميز بتطبيع المسافات والفواصل والأسطر الجديدة.
المزالق الشائعة والحالات الطرفية
يؤدي خلط مجموعات 8 بت و16 بت في نفس الإدخال إلى ناتج غير صحيح — اختر واحدة وابقَ متسقًا. تُخرَج أزواج UTF-16 البديلة (surrogate pairs) كمجموعتين منفصلتين من 16 بت؛ ومحاولة فك ترميزها عند 8 بت لكل حرف لن تنتج الحرف الأصلي. عند فك ترميز سلسلة بتات غير مفصولة، يجب أن يكون الطول الكلي مضاعفًا كاملًا لحجم مجموعة البتات وإلا ستبلّغ الأداة عن خطأ.
متى تستخدم هذه الأداة بدلًا من الكود
استخدم أداة المتصفح للتحويلات لمرة واحدة، وعروض الصف، وإعداد fixtures بسرعة. في كود التطبيق، استخدم `TextEncoder` / `TextDecoder` لتحويل UTF-8، و`Buffer.from(str, 'utf8')` في Node.js، أو `bytes(str, 'utf-8')` في Python — فهذه تتعامل مع البث (streaming) وأوضاع الأخطاء واكتشاف BOM التي لا يتعامل معها محوّل ثابت.