قلاب النص: عكس النص وقلب الأحرف فوراً
أداة نصية مجانية عبر الإنترنت لعكس أي سلسلة نصية فوراً. قلب الأحرف، التحقق من المتناظرات، وإنشاء نص مقلوب. يعمل مع Unicode، والرموز التعبيرية، وجميع اللغات.
أداة قلب النص
أدخل أو الصق أي نص أدناه لقلب ترتيب الأحرف على الفور. شاهد النتائج في الوقت الفعلي أثناء الكتابة.
التوثيق
ما هو عاكس النص؟
عاكس النص هو أداة تعكس ترتيب الأحرف في جزء من النص. فكتابة "hello" تنتج "olleh". وتعمل الأداة بكتابة كل حرف من أحرف الإدخال بالعكس، من الأخير إلى الأول. ويستخدمها الناس لإنشاء نص معكوس، واختبار ما إذا كانت كلمة متناظرة، أو دراسة كيفية عمل عكس السلاسل النصية في البرمجة.
كيفية استخدام عاكس النص
- اكتب النص أو الصقه في مربع الإدخال.
- يظهر النص المعكوس أدناه بمجرد التوقف عن الكتابة. ولا حاجة إلى الضغط على أي زر.
- اضغط على زر النسخ لنسخ النتيجة.
يمسح زر إعادة الضبط كلًّا من الإدخال والنتيجة. تقبل الأداة ما يصل إلى 10,000 حرف؛ ويؤدي الإدخال الأطول إلى عرض رسالة خطأ تطلب تقصير النص. ويُحسب العدد وفق الأحرف المرئية، لذلك تُحسب الإيموجي الواحدة حرفًا واحدًا، رغم أن الحاسوب يخزنها على شكل عدة أجزاء.
صيغة عكس النص
بالنسبة إلى سلسلة طولها n مكوّنة من الأحرف ، تكون السلسلة المعكوسة كما يلي:
بعبارات بسيطة: يصبح الحرف الأخير هو الأول، والحرف قبل الأخير هو الثاني، وهكذا حتى يصبح الحرف الأول هو الأخير.
كيفية عمل الخوارزمية خطوة بخطوة
- ابدأ بنتيجة فارغة.
- خذ الحرف الأخير من الإدخال وأضِفه إلى النتيجة.
- خذ الحرف قبل الأخير وأضِفه.
- كرر ذلك حتى تُضاف جميع الأحرف بترتيب معكوس.
تعمل معظم أدوات عكس النص على أحرف الحاسوب الفردية. أما هذه الأداة فتجمع كل إيموجي وعَلَم وحرف ذي علامة تشكيل في وحدة واحدة قبل عكسها، باستخدام طريقة تُسمى تجزئة عناقيد الحروف. يوضح القسم أدناه سبب أهمية ذلك.
مثال محلول
الإدخال: Hello, World!
المعكوس: !dlroW ,olleH
يحتفظ كل حرف بهويته، بما في ذلك الفاصلة والمسافة وعلامة التعجب. الذي يتغير هو الترتيب فقط.
التعامل مع الإيموجي وعلامات التشكيل وأحرف يونيكود الأخرى
غالبًا ما تخزن الحواسيب الحرف المرئي الواحد، مثل الإيموجي أو الحرف ذي علامة التشكيل، على شكل أكثر من وحدة صغيرة تُسمى نقطة ترميز. ويمكن لطريقة عكس تقلب هذه الوحدات واحدةً تلو الأخرى، من دون مراعاة الوحدات التي تنتمي إلى بعضها، أن تفكك الحرف.
فعلى سبيل المثال، يحتوي "Hello 👍" على إيموجي إشارة الإعجاب المبنية من زوج من الوحدات المخفية. وقد يفصل العكس الأساسي على مستوى الوحدات هذا الزوج، فينتج رموزًا مشوهة بدلًا من الإيموجي. وتتجنب هذه الأداة المشكلة بمعاملة كل إيموجي وعَلَم وحرف ذي علامة تشكيل كوحدة واحدة، ولذلك يصبح "Hello 👍" على نحو صحيح "👍 olleH". كما يبقى إيموجي العَلَم، المبني من رمزين مخفيين يمثلان رمز بلد، متماسكًا أيضًا؛ إذ ينعكس "🇺🇸 USA" إلى "ASU 🇺🇸" بدلًا من تفكيك العَلَم.
الاستخدامات الشائعة
- التحقق من التناظر: تُقرأ الكلمة المتناظرة بالطريقة نفسها من الأمام والخلف، مثل "racecar". وتُعد مقارنة الكلمة بنسختها المعكوسة إحدى طرق اختبار ذلك.
- تعلم البرمجة: يُعد عكس السلسلة النصية تمرينًا شائعًا للتدرب على الحلقات والمصفوفات والمكدسات.
- ألعاب الكلمات والألغاز: تُستخدم الكلمات المعكوسة لإخفاء الرسائل في الألغاز وغرف الهروب.
- التأثيرات التصميمية: يعكس بعض المصممين النص لإنشاء شعارات معكوسة أو تأثيرات بصرية.
- تصحيح الأخطاء: يمكن أن تساعد مقارنة النص الأمامي بالنص المعكوس في اكتشاف بعض أخطاء البيانات.
عكس الأحرف مقابل عكس الكلمات
غالبًا ما يُخلط بين هاتين العمليتين.
- عكس الأحرف (وهو ما تفعله هذه الأداة): يُعكس كل حرف. يصبح "Hello World" هو "dlroW olleH".
- عكس الكلمات: تبقى كل كلمة كما هي، لكن يتغير ترتيب الكلمات. يصبح "Hello World" هو "World Hello".
لمحة تاريخية
تسبق الكتابة المعكوسة والمرآوية ظهور الحواسيب بآلاف السنين. فقد استخدمت بعض النقوش اليونانية القديمة أسلوبًا يُسمى البوستروفيدون، تتناوب فيه الأسطر الاتجاه، من اليسار إلى اليمين ثم من اليمين إلى اليسار، على نحو يشبه طريقة حرث الثور للحقل. وكان ليوناردو دا فينشي يكتب كثيرًا من دفاتره بالكتابة المرآوية، التي لا تُقرأ إلا عند رفعها أمام مرآة؛ ولا يزال المؤرخون يختلفون حول ما إذا كان يفعل ذلك للسرية، أو للراحة بصفته كاتبًا أعسر، أو لمنع الحبر من التلطخ.
في الحوسبة، كان عكس السلسلة النصية تمرينًا برمجيًا أساسيًا منذ الأيام الأولى لعلم الحاسوب. ويُستخدم غالبًا لتعليم طريقة عمل المكدسات والمصفوفات، إذ إن دفع الأحرف إلى مكدس ثم إخراجها منه يعكس ترتيبها تلقائيًا.
كيفية عكس النص في الشيفرة
تتضمن معظم لغات البرمجة طريقة مدمجة أو بسيطة لعكس سلسلة نصية:
1text = "Hello, World!"
2print(text[::-1]) # !dlroW ,olleH
31const text = "Hello, World!";
2console.log([...text].reverse().join('')); // !dlroW ,olleH
3يعكس المثالان النص بصورة صحيحة بالنسبة إلى الأحرف والأرقام العادية، وإلى الإيموجي ذات الوحدة الواحدة مثل 🌍. لكنهما قد يفككان حرفًا مكوّنًا من عدة وحدات مخفية، مثل بعض إيموجي الأعلام، والأحرف ذات علامات التشكيل المكتوبة بعلامة تشكيل منفصلة، أو إيموجي العائلات الموصولة بأحرف ربط خاصة. ويتطلب العكس الكامل الآمن لعناقيد الحروف، وهو الأسلوب الذي تستخدمه هذه الأداة، دالة مخصصة مثل Intl.Segmenter في JavaScript.
الأداء
يستغرق عكس النص زمنًا خطيًا؛ إذ تنظر الخوارزمية إلى كل حرف مرة واحدة بالضبط، ولذلك تؤدي مضاعفة حجم الإدخال تقريبًا إلى مضاعفة العمل. وبالنسبة إلى النص العادي، من كلمة واحدة إلى عدة صفحات، تظهر النتيجة على نحو فوري تقريبًا. أما الملفات الكبيرة جدًا، التي يبلغ حجمها عدة ميغابايت أو أكثر، فمن الأفضل التعامل معها بواسطة برامج متخصصة تبث البيانات بدلًا من تحميلها كلها في الذاكرة دفعة واحدة.
الأسئلة الشائعة
كيف أعكس النص عبر الإنترنت؟
الصق النص أو اكتبه في المربع أعلاه. يظهر النص المعكوس تلقائيًا بمجرد التوقف عن الكتابة. استخدم زر النسخ لنسخ النتيجة.
هل يوجد حد أقصى لطول النص؟
نعم. تقبل الأداة ما يصل إلى 10,000 حرف. وينتج الإدخال الأطول رسالة خطأ بدلًا من نتيجة. وتُحسب الأحرف كما تظهر على الشاشة، لذلك تُحسب الإيموجي أو الحرف ذو علامة التشكيل حرفًا واحدًا، لا حرفين.
هل تعكس هذه الأداة الكلمات أم الأحرف فقط؟
إنها تعكس الأحرف الفردية، لا ترتيب الكلمات. يصبح "Hello World" هو "dlroW olleH"، وليس "World Hello".
هل تتعامل مع الإيموجي والنصوص غير الإنجليزية؟
نعم. تعامل الأداة الإيموجي والأعلام والأحرف ذات علامات التشكيل كوحدات واحدة كي تظل متماسكة بعد العكس. كما تعمل مع أي نظام كتابة، بما في ذلك النصوص الصينية والعربية والسيريلية.
إذا عكست النص مرتين، فهل أستعيد النص الأصلي؟
نعم. تؤدي إعادة عكس السلسلة المعكوسة إلى استعادة النص الأصلي. وتُسمى هذه الخاصية الدالة ذاتية العكس.
هل يفيد النص المعكوس في التشفير؟
لا. فعكس الأحرف ليس آمنًا. إنه يخفي النص بصريًا فقط، ويمكن لأي شخص يعكسه مجددًا قراءته.
المراجع
- اتحاد يونيكود. ملحق معيار يونيكود #29: تجزئة النص في يونيكود.
- كورمن، T. H.، ولايزارسون، C. E.، وريفيست، R. L.، وشتاين، C. (2009). مقدمة في الخوارزميات (الطبعة 3). منشورات معهد ماساتشوستس للتكنولوجيا.
- مستندات MDN للويب. Intl.Segmenter. شبكة مطوري Mozilla.