Utilia

إزالة الأحرف غير المرئية

اكشف الأحرف غير المرئية وأزلها: المسافات صفرية العرض، والمسافات غير القابلة للكسر، والواصلات الناعمة، ومحارف الاتجاه (Trojan Source) في أي نص.

الأحرف المراد إزالتها

كيفية إزالة الأحرف غير المرئية

  1. الصق نصك في مربع الإدخال. يُفحص النص بمجرد لصقه.
  2. اقرأ النتيجة: يسرد جدول كل حرف مخفي عُثر عليه، مع نقطته الرمزية واختصاره واسمه في Unicode ونوعه وعدده. ويبيّن قسم الإدخال مع التمييز موضع كل حرف منها، على شكل شارة ملوّنة صغيرة مثل ZWSP أو NBSP.
  3. تحت الأحرف المراد إزالتها، أبقِ الأنواع التي تريد حذفها محدَّدة. ويبدّل زر تحديد الكل / لا شيء تحديدها كلها دفعة واحدة.
  4. أبقِ استبدال المسافات غير القابلة للكسر والخاصة بمسافة عادية محدَّدًا حتى يحتفظ «10 000» بمسافته بدلًا من أن يصبح «10000».
  5. انسخ النص المنظَّف من مربع النتيجة. ويكتفي زر إزالة الأحرف غير المرئية بتحديث النتيجة.

ما الذي تكشفه الأداة؟

النوع الأحرف من أين تأتي
أحرف صفرية العرض ZWSP U+200B، وZWNJ U+200C، وZWJ U+200D، وWJ U+2060، وBOM U+FEFF صفحات الويب، ومعالجات النصوص، والنصوص المنسوخة من PDF أو تطبيقات المحادثة، والملفات المحفوظة مع علامة ترتيب البايتات
المسافات غير القابلة للكسر والخاصة NBSP U+00A0، والمسافة الضيقة U+202F، والمسافات الرفيعة والعريضة ومسافة الأرقام والمسافة الآسيوية، وفواصل الأسطر والفقرات كيان   في HTML، والطباعة الفرنسية، وبرنامج Word، واختصار Option+Space في macOS
الواصلات الناعمة SHY U+00AD تلميحات تقسيم الكلمات من معالجات النصوص والمواقع
محارف التحكم في الاتجاه LRM وRLM وALM، وLRE–RLO (U+202A–U+202E)، وLRI–PDI (U+2066–U+2069) النصوص التي تخلط العربية أو العبرية باللاتينية، والأكواد الخبيثة
محارف التحكم NUL وESC وفاصل الصفحة وDEL ومحارف C1 مخرجات الطرفية، والملفات القديمة، والترميزات التالفة
محارف تنسيق أخرى محارف الوسوم، والعمليات الرياضية غير المرئية، وحشو الهانغول، وفراغ برايل، وأي حرف آخر من فئة Unicode «Cf» العلامات المائية المخفية، وأسماء المستخدمين «الفارغة»، ومصادر غريبة
محددات التنويع VS1–VS256 أنماط الرموز التعبيرية، والمتغيرات الصينية واليابانية، وحيلة لإخفاء البيانات بعد رمز تعبيري

مسافات الجدولة وفواصل الأسطر ومحارف الرجوع إلى أول السطر أحرف عادية ولا تُمسّ أبدًا. ولا تُحدَّد محددات التنويع افتراضيًا لأنها مشروعة في الغالب. أما التطويل (الكشيدة «ـ») فهو حرف ظاهر وليس مخفيًا، فلا تحذفه هذه الأداة.

لماذا تسبّب الأحرف غير المرئية مشكلات؟

لا تراها العين، لكن الحاسوب يراها. فالمسافة صفرية العرض داخل كلمة تعطّل البحث والتدقيق الإملائي، وعلامة ترتيب البايتات في أول ملف CSV تفسد اسم العمود الأول، والمسافة غير القابلة للكسر تجعل قيمتين متطابقتين في الظاهر مختلفتين في جدول بيانات أو في حقل كلمة مرور، والواصلة الناعمة قد تقسم رابطًا. وقد يرفض الكود الذي يحتوي على U+FEFF أو U+00A0 شاردة أن يُترجَم برسالة خطأ محيّرة.

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

النص العربي ومحارف الاتجاه

تخبر محارف التحكم في الاتجاه محرك العرض بأن يرسم جزءًا من السطر من اليمين إلى اليسار أو العكس. وفي النصوص العربية التي تحتوي على كلمات لاتينية أو أرقام، تُستخدم علامات LRM وRLM وALM استخدامًا مشروعًا لضبط موضع الأقواس وعلامات الترقيم. فإذا حذفتها، لا يتغيّر محتوى النص، لكن قد يتغيّر ترتيب عرض بعض علامات الترقيم أو الأقواس حول الكلمات الأجنبية. لذلك ألغِ تحديد محارف التحكم في الاتجاه (LRM وRLO وLRI…) إذا كان نصك عربيًا مختلطًا وكان عرضه سليمًا.

أما داخل الأكواد البرمجية، فقد تجعل هذه المحارف الكود يبدو مختلفًا عمّا ينفّذه المترجم فعلًا، وهو هجوم نُشر عام 2021 باسم «Trojan Source» (CVE-2021-42574). وعندما تعثر الأداة على أحدها تعرض تحذيرًا. ومحارف التضمين والتجاوز والعزل في كود أو ملف إعدادات علامة خطر.

وكذلك تستخدم الفارسية والأردية حرف ZWNJ للفصل بين الحروف داخل الكلمة، وقد يُستخدم ZWJ في العربية لإظهار شكل الحرف المتصل منفردًا. لمثل هذه النصوص، ألغِ تحديد أحرف صفرية العرض (ZWSP وZWNJ وZWJ وWJ وBOM).

احتفظ بما تحتاج إليه

  • خيار الإبقاء على الوصلات والمحددات داخل الرموز التعبيرية (👨‍👩‍👧، ❤️) يحمي الوصلات صفرية العرض ومحددات التنويع التي تبني الرموز التعبيرية. ألغِ تحديده لحذفها أيضًا؛ فيتحوّل حينها رمز العائلة إلى ثلاثة أشخاص منفصلين.
  • تستخدم الطباعة الفرنسية مسافات ضيقة غير قابلة للكسر قبل ; : ! ? وداخل « ». ألغِ تحديد نوع المسافات للاحتفاظ بها.

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

كيف أعرف إن كان نصي يحتوي على مسافات صفرية العرض؟

الصقه هنا. إذا بقي الجدول فارغًا وظهرت رسالة «لم يُعثر على أحرف غير مرئية.»، فلا يوجد أيٌّ منها.

هل ستلتصق كلماتي ببعضها إذا حذفت المسافات غير القابلة للكسر؟

ليس مع الإعداد الافتراضي: تُستبدل المسافات غير القابلة للكسر والخاصة بمسافة عادية. لا تلغِ خيار الاستبدال إلا إذا أردت حذفها تمامًا.

هل يؤثر الحذف في التشكيل العربي؟

لا. الحركات والشدة والتنوين حروف ظاهرة وليست محارف تنسيق، فلا تكشفها الأداة ولا تحذفها.

هل من الآمن لصق نص سري؟

نعم. يجري الفحص والتنظيف في متصفحك، ولا يُرفع أي شيء ولا يُخزَّن.

لماذا يظهر حرف غريب في أول ملفي حتى بعد التنظيف؟

إذا كان الملف محفوظًا بترميز غير UTF-8، فقد تكون المشكلة في الترميز لا في حرف غير مرئي. أعد حفظ الملف بترميز UTF-8 وافحصه مرة أخرى.