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

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

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

كيف يتحول النص إلى بايتات

الأحرف ليست بايتات

الحرف فكرة مجردة؛ البايت ثماني وحدات تخزين. تحويل أحدهما إلى الآخر يتطلب ترميزًا. تستخدم هذه الأداة UTF-8، الترميز الذي يقف خلف أكثر من 98% من الويب. في UTF-8 يأخذ نطاق ASCII A-Z وa-z و0-9 وعلامات الترقيم الشائعة بايتًا واحدًا بالضبط، لذا A هي 01000001. الحروف اللاتينية المشكّلة واليونانية تأخذ بايتين، ومعظم أحرف CJK تأخذ ثلاثة، والرموز التعبيرية تأخذ أربعة.

لماذا هذا مهم لرحلات الذهاب والعودة

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

اختيار الأساس

  • ثنائي يعرض نمط البتات الخام، وهو ما تريده عند شرح كيفية عمل الترميز أو تصحيح بروتوكول على مستوى البتات.
  • سداسي عشري هو الافتراضي العملي. رقما سداسي عشري لكل بايت يجعلان حدود البايت واضحة، ولهذا تستخدمه كل محررات hex ومستندات الشبكة.
  • ثماني يجمع ثلاث بتات في كل مرة ويظهر أساسًا في صلاحيات Unix وبعض تسلسلات الهروب في C.
  • عشري الأسهل قراءةً بصوت عالٍ لكنه يخفي بنية البتات تمامًا.

الفواصل والحشو

الحشو بالأصفار يجعل كل بايت بنفس العرض — ثمانية أحرف في الثنائي، واثنان في السداسي عشري — لذا يمكن تقسيم الإخراج بموثوقية حتى بدون فاصل بين القيم. إذا أطفأت الحشو، أبقِ فاصلًا، وإلا فستلتحم 1 و10 معًا ولا يمكن فك ترميز النتيجة دون غموض. عند فك الترميز، يُقبل أي خليط من المسافات والفواصل والأسطر الجديدة.

إشعار مفتوح المصدر: يستخدم واجهتي TextEncoder وTextDecoder الأصليتين المدمجتين في المتصفح. لا تُستخدم أي مكتبة خارجية.

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

لماذا حرفي الصيني ثلاث مجموعات من ثماني بتات؟
يرمّز UTF-8 معظم أحرف CJK بثلاثة بايتات، وكل بايت يصبح مجموعة من ثماني بتات. هذا سلوك صحيح، وليس خطأ.
هل يمكنني فك ترميز ثنائي بلا فواصل؟
نعم، ما دام مملوءًا بالأصفار. يلجأ المفكك إلى تقسيم بعرض ثابت — ثمانية أحرف لكل بايت في الثنائي، واثنان في السداسي عشري — عندما لا يجد فاصلًا.
هل يستخدم هذا ASCII أم UTF-8؟
UTF-8. لنطاق ASCII العادي يتطابق الاثنان، لذا يبدو النص الإنجليزي نفسه في الحالتين، لكن UTF-8 يتعامل أيضًا مع كل حرف آخر بشكل صحيح.
لماذا أحصل على خطأ عند فك ترميز إدخالي؟
يجب أن تُحلّ كل مجموعة إلى قيمة بين 0 و255 في الأساس المختار. قيمة 256، أو حرف دخيل في الوضع الثنائي، أو اختيار أساس خاطئ، كلها تسبب ذلك.
هل هذا نفس Base64؟
لا. يضغط Base64 ثلاثة بايتات في أربعة أحرف قابلة للطباعة لإبقاء البيانات مضغوطة. تعرض هذه الأداة كل بايت على حدة في أساس رقمي مختار، وهو أكثر إسهابًا لكنه مقروء للبشر.
هل يُرسَل نصي إلى أي مكان؟
لا. الترميز وفك الترميز يستخدمان TextEncoder وTextDecoder المدمجين في المتصفح، بالكامل على جهازك.