أداة كشف الأحرف غير المرئية
عند لصق أي نص، يقوم النظام الكاشف بالإبلاغ عن جميع الحروف غير المرئية الموجودة فيه: الفواصل ذات العرض الصفري، علامات الاتجاه، رموز BOM، الفواصل الناعمة، الفواصل غير المقطوعة، بالإضافة إلى مجموعات من نقاط الرمز التحكمي في يونيكود التي تبدو كفضاء فارغ لكنها تحجب عمليات البحث والمقارنة والنسخ واللصق. يُرفق كل نتيجة اكتشاف بنقطة رمز خاصة بها (U+200B)، واسمها الرسمي في يونيكود، وموقعها داخل السلسلة النصية، مما يسمح لك بتحديد موقع الخطأ الغامض بدقة قبل إزالته.
كيفية اكتشاف الحروف غير المرئية
-
1
لصق النص
أدخل السلسلة المشبوهة: مقطعًا من الكود، رسالة مقلدة، أو قيمة تهيئة.
-
2
قم بإجراء المسح.
يقوم الأداة بتجربة كل نقطة كود ويشير إلى أي نقطة تتطابق مع قائمة الرموز غير المرئية أو التنسيقية.
-
3
راجع التقرير
يُظهر كل نتيجة موقعها (مُرقم 1)، وقيمتها الرمزية في صيغة `U+HHHH`، بالإضافة إلى اسمها في نظام يونيكود (مثل مسافة عرض صفر، أو BOM، وغيرها).
-
4
نظف النص
استخدم عملية الاستبدال لإزالة أو عرض الحروف المخفية، ثم قم بلصق النسخة المُنقّاة مرة أخرى.
الأحرف غير المرئية ومصادرها
توجد هذه الحروف لأسباب مشروعة (مثل ترتيب النص، اتجاه الكتابة، أو دمج الحروف معًا). لكنها تتحول إلى أخطاء عندما تخرج عن السياق الذي صُممت فيه وتظهر في الكود أو ملفات الإعداد أو استعلامات البحث أو أسماء المستخدمين.
الأحرف التي يبحث عنها الكاشف
| نقطة الترميز | الاسم | المكان الذي تظهر فيه عادةً بشكل غير متوقع |
|---|---|---|
U+200B |
مسافة بعرض صفري | محررات النص الغني، معالجات النصوص |
U+200C |
فاصل بعرض صفري (غير رابط) | طباعة الفارسية والهندية |
U+200D |
رابط بعرض صفري | تسلسلات الرموز التعبيرية، النصوص الهندية |
U+200E |
علامة من اليسار إلى اليمين | نص يحتوي على كتابة LTR وRTL معًا |
U+200F |
علامة من اليمين إلى اليسار | نفسه |
U+202A..E |
التضمين / التجاوز | نفسه؛ يُستخدم أحيانًا بشكل خبيث (Trojan Source) |
U+2028 |
فاصل الأسطر | منسوخة من برنامج Word، وتعطل مُرمِّزات JSON |
U+2029 |
فاصل الفقرات | نفسه |
U+FEFF |
علامة ترتيب البايتات | ملفات محفوظة بصيغة UTF-8 مع BOM في برنامج Notepad |
U+00A0 |
مسافة غير قابلة للكسر | فراغ طباعي من برنامج Word |
U+00AD |
واصلة لينة | تلميحات الفصل بالواصلة في النص الغني |
الأعراض الشائعة لخطأ ناتج عن حرف مخفي
- مقارنة سلسلتين “يُفترض” أن تكونا متساويتين، لكنهما ليستا كذلك. انسخ القيمتين إلى هذه الأداة وتحقق من عدد البايتات.
- تعبير نمطي (regex) يتطابق بالعين لكنه يفشل في الكود. غالبًا ما يكون
U+00A0متنكرًا في هيئة مسافة عادية. - يتعطل مُحلل JSON عند لصق حمولة نصية. عادةً بسبب وجود BOM في البداية، أو
U+2028داخل سلسلة نصية يرفضها JavaScript ضمن JSON. - عنوان الـSEO بطول غير صحيح. مسافة بعرض صفري تتجاوز بك الحد المسموح دون أي تغيير مرئي.
زاوية هجمات «Trojan Source»
يمكن لرموز التفويض ثنائي الاتجاه (U+202E، U+2066…، U+2069) أن تجعل الكود المصدر يُعرض وفق ترتيب معين بينما يتم تجميعه وفق ترتيب آخر؛ وتنتمي هذه الهجمات إلى فئة ما يُعرف بـ“هجمات المصدر التروجاني“. إذا كنت تراجع كود مقدم من مساهمين غير موثوقين، فيجب تشغيل اختلافات أكوادهم باستخدام هذا الكاشف قبل دمجها.
الأسئلة الشائعة
يُستخدم برنامج Notepad وبعض أدوات ويندوز القديمة بشكل افتراضي تنسيق “UTF-8 مع BOM”. يُعد تنسيق BOM (U+FEFF) مناسبًا لتطبيقات ويندوز، لكنه يؤدي إلى مشاكل في العديد من خطوط المعالجة الخارجية، وملفات PHP (حيث يتم طباعة تنسيق BOM كمخرج قبل علامة <?php)، بالإضافة إلى محركات تحليل بيانات JSON.
يبدو كمساحة عادية على الشاشة، لكن سلوكها مختلف؛ فهو لا يسمح بانقطاع السطر، ولا يتم دعمه من قبل معظم متغيرات نمط التعبير الرباعي \s في جميع اللغات. وغالبًا ما يظهر داخل مسارات الملفات أو عناوين البريد الإلكتروني أو أسماء المستخدمين المنسوخة من مصادر نص غني.
ليس دائمًا كذلك. في النصوص باللغة العربية أو الفارسية أو الحروف الديفاناغاري، يُعد استخدام علامة الربط ذات العرض الصفري وعلامة عدم الربط ضروريًا من الناحية الدلالية. أما في الكود أو ملفات الإعداد ومعظم النصوص الإنجليزية، فيمكن التخلي عنها بحرية. وفي محتوى اللغة الطبيعية، يجب استخدام أداة الكشف لفحص النص قبل إزالته.
لا؛ فالتحليل يتم بالنسبة إلى الطلب الحالي، ولا يتم تخزين أي من المحتويات التي تلصقها أو تسجيلها بعد إعداد الرد.
أدوات ذات صلة
رموز أسهم للنسخ
انسخ أسهم Unicode شائعة بنقرة واحدة: أسهم مستقيمة ومزدوجة وقطرية ومعقوفة ودائرية ومثلثة للمستندات والدردشة والتصميم.
رمز أقل من أو يساوي
انسخ علامة ≤ ورموز المقارنة الرياضية المرتبطة بها. يشمل ذلك رموز Unicode وكيانات HTML وترميز LaTeX للجداول الحسابية والأوراق البحثية وصفحات الويب.
محوّل النص الملائم لعسر القراءة
أعد تنسيق النص الملصق في فقرات قصيرة وأسطر من نحو 72 حرفًا لتسهيل القراءة. انسخ النتيجة إلى أي مستند أو بريد إلكتروني أو محرر.
عداد الكلمات
عُد الكلمات والأحرف والجمل والفقرات مع وقت القراءة ووقت التحدث وكثافة الكلمات المفتاحية ودرجة سهولة القراءة بمقياس فليش، للمقالات والمنشورات والتعليقات التوضيحية وأوصاف الميتا.
مولد أسماء النطاقات
ولّد أفكار أسماء نطاقات من كلمة مفتاحية واحدة: بادئات ولواحق وأحرف مكررة ونهايات رقمية عبر ستة نطاقات علوية شائعة.
استخراج الرسائل الإلكترونية من النص
استخرج كل عنوان بريد إلكتروني فريد من أي كتلة نصية أو HTML. المطابقة الذكية تتجاهل علامات الترقيم والتكرارات لتحصل على قائمة نظيفة جاهزة للنسخ.
الأداة متاحة بلغات أخرى
- Detektor för osynliga tecken [SV]
- Détecteur de caractères invisibles [FR]
- Detektor Karakter Tak Terlihat [ID]
- Unsichtbarer Zeichendetektor [DE]
- 보이지 않는 문자 탐지기 [KO]
- Detektor niewidzialnych znaków [PL]
- เครื่องตรวจจับตัวอักษรที่มองไม่เห็น [TH]
- Onzichtbare karakter detector [NL]
- Bộ phát hiện ký tự vô hình [VI]
- 不可視文字検出器 [JA]
- Detector de Caracteres Invisibles [ES]
- Detector de Caracteres Invisíveis [PT]
- Invisible Character Detector [EN]
- Rilevatore di Caratteri Invisibili [IT]
- Обнаружитель невидимых символов [RU]
- Görünmez Karakter Tespit Cihazı [TR]
- 不可见字符检测器 [ZH]