تخطي إلى المحتوى

قلاب النص: عكس النص وقلب الأحرف فوراً

أداة نصية مجانية عبر الإنترنت لعكس أي سلسلة نصية فوراً. قلب الأحرف، التحقق من المتناظرات، وإنشاء نص مقلوب. يعمل مع Unicode، والرموز التعبيرية، وجميع اللغات.

أداة قلب النص

أدخل أو الصق أي نص أدناه لقلب ترتيب الأحرف على الفور. شاهد النتائج في الوقت الفعلي أثناء الكتابة.

حاسبة التحميل...
📚

التوثيق

ما هو عاكس النص؟

عاكس النص هو أداة تعكس ترتيب الأحرف في جزء من النص. فكتابة "hello" تنتج "olleh". وتعمل الأداة بكتابة كل حرف من أحرف الإدخال بالعكس، من الأخير إلى الأول. ويستخدمها الناس لإنشاء نص معكوس، واختبار ما إذا كانت كلمة متناظرة، أو دراسة كيفية عمل عكس السلاسل النصية في البرمجة.

كيفية استخدام عاكس النص

  1. اكتب النص أو الصقه في مربع الإدخال.
  2. يظهر النص المعكوس أدناه بمجرد التوقف عن الكتابة. ولا حاجة إلى الضغط على أي زر.
  3. اضغط على زر النسخ لنسخ النتيجة.

يمسح زر إعادة الضبط الإدخال والنتيجة معًا. تقبل الأداة حتى 10,000 حرف؛ وإذا كان الإدخال أطول فتظهر رسالة خطأ تطلب تقصير النص. ويحتسب الحد وحدات ترميز UTF-16، وهي القطع الصغيرة التي يخزّن بها المتصفح النص، ولذلك يُحتسب معظم الرموز التعبيرية (الإيموجي) وحدتين.

صيغة عكس النص

بالنسبة إلى سلسلة طولها n مكوّنة من الأحرف c1c2…cnc_1 c_2 \dots c_n، تكون السلسلة المعكوسة كما يلي:

S′=cncn−1…c2c1S' = c_n c_{n-1} \dots c_2 c_1

بعبارات بسيطة: يصبح الحرف الأخير هو الأول، والحرف قبل الأخير هو الثاني، وهكذا حتى يصبح الحرف الأول هو الأخير.

كيفية عمل الخوارزمية خطوة بخطوة

  1. ابدأ بنتيجة فارغة.
  2. خذ الحرف الأخير من الإدخال وأضِفه إلى النتيجة.
  3. خذ الحرف قبل الأخير وأضِفه.
  4. كرر ذلك حتى تُضاف جميع الأحرف بترتيب معكوس.

تعمل معظم أدوات العكس على الأحرف الفردية في الحاسوب. أما هذه الأداة فتجمع كل رمز تعبيري وعلَم وحرف بعلامة تشكيل في وحدة واحدة قبل العكس، باستخدام طريقة تسمى تجزئة عناقيد الغرافيم. ويشرح القسم أدناه سبب أهمية ذلك.

مثال تطبيقي

الإدخال: Hello, World!

المعكوس: !dlroW ,olleH

يحتفظ كل حرف بهويته، بما في ذلك الفاصلة والمسافة وعلامة التعجب. الذي يتغير هو الترتيب فقط.

التعامل مع الإيموجي وعلامات التشكيل وأحرف يونيكود الأخرى

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

فعلى سبيل المثال، يحتوي "Hello 👍" على إيموجي إشارة الإعجاب المبنية من زوج من الوحدات المخفية. وقد يفصل العكس الأساسي على مستوى الوحدات هذا الزوج، فينتج رموزًا مشوهة بدلًا من الإيموجي. وتتجنب هذه الأداة المشكلة بمعاملة كل إيموجي وعَلَم وحرف ذي علامة تشكيل كوحدة واحدة، ولذلك يصبح "Hello 👍" على نحو صحيح "👍 olleH". كما يبقى إيموجي العَلَم، المبني من رمزين مخفيين يمثلان رمز بلد، متماسكًا أيضًا؛ إذ ينعكس "🇺🇸 USA" إلى "ASU 🇺🇸" بدلًا من تفكيك العَلَم.

الاستخدامات الشائعة

  • التحقق من التناظر: تُقرأ الكلمة المتناظرة بالطريقة نفسها من الأمام والخلف، مثل "racecar". وتُعد مقارنة الكلمة بنسختها المعكوسة إحدى طرق اختبار ذلك.
  • تعلم البرمجة: يُعد عكس السلسلة النصية تمرينًا شائعًا للتدرب على الحلقات والمصفوفات والمكدسات.
  • ألعاب الكلمات والألغاز: تُستخدم الكلمات المعكوسة لإخفاء الرسائل في الألغاز وغرف الهروب.
  • التأثيرات التصميمية: يعكس بعض المصممين النص لإنشاء شعارات معكوسة أو تأثيرات بصرية.
  • تصحيح الأخطاء: يمكن أن تساعد مقارنة النص الأمامي بالنص المعكوس في اكتشاف بعض أخطاء البيانات.

عكس الأحرف مقابل عكس الكلمات

غالبًا ما يُخلط بين هاتين العمليتين.

  • عكس الأحرف (ما تفعله هذه الأداة): يُقلب كل حرف. فتتحول "Hello World" إلى "dlroW olleH".
  • عكس الكلمات: تبقى كل كلمة سليمة، لكن يتغير ترتيب الكلمات. فتتحول "Hello World" إلى "World Hello".

لمحة تاريخية

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

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

كيفية عكس النص في الشيفرة

تتضمن معظم لغات البرمجة طريقة مدمجة أو بسيطة لعكس سلسلة نصية:

1text = "Hello, World!"
2print(text[::-1])  # !dlroW ,olleH
3

يعكس المثالان النص بشكل صحيح للأحرف والأرقام العادية، وللرموز التعبيرية ذات الوحدة الواحدة مثل 🌍. لكنهما قد يفككان حرفًا مكوّنًا من عدة وحدات مخفية، مثل بعض رموز الأعلام التعبيرية، أو الحروف ذات علامة التشكيل المكتوبة منفصلة، أو رموز العائلة التعبيرية المتصلة بأحرف وصل خاصة. أما العكس الآمن للغرافيم بالكامل، وهو الطريقة التي تستخدمها هذه الأداة، فيحتاج إلى دالة مخصصة، مثل الدالة Intl.Segmenter في JavaScript.

الأداء

يستغرق عكس النص زمنًا خطيًا؛ إذ تنظر الخوارزمية إلى كل حرف مرة واحدة بالضبط، ولذلك تؤدي مضاعفة حجم الإدخال تقريبًا إلى مضاعفة العمل. وبالنسبة إلى النص العادي، من كلمة واحدة إلى عدة صفحات، تظهر النتيجة على نحو فوري تقريبًا. أما الملفات الكبيرة جدًا، التي يبلغ حجمها عدة ميغابايت أو أكثر، فمن الأفضل التعامل معها بواسطة برامج متخصصة تبث البيانات بدلًا من تحميلها كلها في الذاكرة دفعة واحدة.

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

كيف أعكس النص عبر الإنترنت؟

الصق النص أو اكتبه في المربع أعلاه. يظهر النص المعكوس تلقائيًا بمجرد التوقف عن الكتابة. استخدم زر النسخ لنسخ النتيجة.

هل يوجد حد أقصى لطول النص؟

نعم. تقبل الأداة حتى 10,000 حرف، تُحتسب بوحدات ترميز UTF-16، ولذلك يُحتسب الرمز التعبيري عادةً وحدتين. ويؤدي الإدخال الأطول إلى رسالة خطأ بدلًا من النتيجة.

هل تعكس هذه الأداة الكلمات أم الأحرف فقط؟

تعكس الأداة الأحرف الفردية، لا ترتيب الكلمات. فتتحول "Hello World" إلى "dlroW olleH"، وليس إلى "World Hello".

هل تتعامل مع الإيموجي والنصوص غير الإنجليزية؟

نعم. تعامل الأداة الإيموجي والأعلام والأحرف ذات علامات التشكيل كوحدات واحدة كي تظل متماسكة بعد العكس. كما تعمل مع أي نظام كتابة، بما في ذلك النصوص الصينية والعربية والسيريلية.

إذا عكست النص مرتين، فهل أستعيد النص الأصلي؟

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

هل يفيد النص المعكوس في التشفير؟

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

المراجع

  1. The Unicode Consortium. Unicode Standard Annex #29: Unicode Text Segmentation. UAX #29 — عناقيد غرافيم ("user-perceived characters") مكوّنة من عدة نقاط ترميز؛ وتبقى تسلسلات الأعلام معًا.
  2. MDN Web Docs. Intl.Segmenter. MDN: Intl.Segmenter — واجهة برمجية في JavaScript تقسّم السلسلة النصية إلى غرافيمات أو كلمات أو جمل.
  3. MDN Web Docs. String: length. MDN: String length — يحتسب طول السلسلة النصية في JavaScript وحدات ترميز UTF-16؛ وقد يشغل الحرف وحدة واحدة أو وحدتين.