حساسية حالة الأحرف

في الحواسيب، تحدد حساسية حالة الأحرف ما إذا كانت الأحرف الكبيرة والصغيرة تُعامل على أنها مختلفة ( حساسة لحالة الأحرف ) أو متكافئة ( غير حساسة لحالة الأحرف ). على سبيل المثال، عندما يبحث مستخدمون مهتمون بمعرفة المزيد عن الكلاب في كتاب إلكتروني ، فإن كلمتي "dog" و"Dog" لهما نفس المعنى بالنسبة لهم. لذا، يطلبون بحثًا غير حساس لحالة الأحرف. ولكن عندما يبحثون في موسوعة إلكترونية عن معلومات حول الأمم المتحدة ، على سبيل المثال، أو عن شيء لا يوجد فيه لبس فيما يتعلق بحالة الأحرف، أو لبس بين مصطلحين أو أكثر يتم اختصارهما بأحرف كبيرة، فقد يفضلون بحثًا حساسًا لحالة الأحرف.
مجالات ذات أهمية
قد تختلف حساسية حالة الأحرف حسب الموقف:
- البحث : يتوقع المستخدمون أن تتمتع أنظمة استرجاع المعلومات بحساسية صحيحة لحالة الأحرف، وذلك بحسب طبيعة العملية. فالمستخدمون الذين يبحثون عن كلمة "dog" في مجلة إلكترونية، على سبيل المثال، لا يرغبون على الأرجح في التمييز بين "dog" و"Dog"، لأن هذا تمييز كتابي؛ إذ يجب مطابقة الكلمة سواء ظهرت في بداية الجملة أم لا. من جهة أخرى، قد يهتم المستخدمون الذين يبحثون عن معلومات حول اسم علامة تجارية، أو اسم مسجل ، أو اسم شخص، أو اسم مدينة، بإجراء عملية حساسة لحالة الأحرف لتصفية النتائج غير ذات الصلة. على سبيل المثال، من يبحث عن اسم " Jade " لن يرغب في العثور على إشارات إلى المعدن المسمى " jade ". في ويكيبيديا الإنجليزية ، على سبيل المثال، يُظهر البحث عن "friendly fire" المقالة العسكرية، بينما يُظهر البحث عن "Friendly Fire " (بحرف كبير "Fire") صفحة التوضيح. [ ملاحظة 1 ] [ 1 ]
- أسماء المستخدمين : عادةً ما تتعامل أنظمة المصادقة مع أسماء المستخدمين على أنها غير حساسة لحالة الأحرف لتسهيل تذكرها، وتقليل تعقيد الكتابة، والقضاء على احتمالية الأخطاء والاحتيال عندما يكون اسما مستخدمين متطابقين تمامًا باستثناء حالة أحد الأحرف. مع ذلك، لا تتجاهل هذه الأنظمة حالة الأحرف، بل تحافظ عليها ليتمكن المستخدمون من اختيار اسم مستخدم جذاب بصريًا.
- كلمات المرور : عادةً ما تتعامل أنظمة المصادقة مع كلمات المرور على أنها حساسة لحالة الأحرف. وهذا يُمكّن المستخدمين من زيادة تعقيد كلمات مرورهم .
- أسماء الملفات : عادةً ما تتعامل أنظمة التشغيل الشبيهة بنظام يونكس مع أسماء الملفات بحساسية لحالة الأحرف، بينما لا يراعي نظام مايكروسوفت ويندوز حساسية حالة الأحرف، ولكنه يحافظ على حالة الأحرف في معظم أنظمة الملفات . لمزيد من التفاصيل، انظر أدناه.
- أسماء المتغيرات : بعض لغات البرمجة حساسة لحالة الأحرف في أسماء متغيراتها، بينما لا تراعيها لغات أخرى. لمزيد من التفاصيل، انظر أدناه.
- عناوين URL : قد تكون أقسام المسار والاستعلام والجزء والسلطة في عنوان URL حساسة لحالة الأحرف أو غير حساسة لها، وذلك حسب خادم الويب المُستقبِل . أما جزئي المخطط والمضيف ، فهما مكتوبان بأحرف صغيرة فقط .
في لغات البرمجة
بعض لغات البرمجة حساسة لحالة الأحرف في مُعرّفاتها ( مثل C و C++ و Java و C# و Verilog و Ruby و Python و Swift ) . بينما لغات أخرى غير حساسة لحالة الأحرف، مثل ABAP و Ada ومعظم لغات BASIC (باستثناء BBC BASIC ) و Common Lisp و Fortran و SQL (فيما يخص بناء الجملة، وفي بعض تطبيقات الموردين، مثل Microsoft SQL Server ، فيما يخص البيانات نفسها) و Pascal و Rexx و ooRexx . وهناك أيضًا لغات، مثل Haskell و Prolog و Go ، حيث يُشير استخدام الأحرف الكبيرة والصغيرة في المُعرّف إلى معلومات حول دلالاته . وتختلف حساسية بعض لغات البرمجة الأخرى لحالة الأحرف؛ ففي PHP ، على سبيل المثال، أسماء المتغيرات حساسة لحالة الأحرف ، بينما أسماء الدوال غير حساسة لها. هذا يعني أنه إذا تم تعريف دالة بأحرف صغيرة، فيمكن استدعاؤها بأحرف كبيرة، ولكن إذا تم تعريف متغير بأحرف صغيرة، فلا يمكن الإشارة إليه بأحرف كبيرة. لغة Nim غير حساسة لحالة الأحرف وتتجاهل الشرطات السفلية، طالما أن الأحرف الأولى متطابقة. [ 4 ]
في البحث النصي
قد تكون عملية البحث النصي حساسة لحالة الأحرف أو غير حساسة لها، وذلك بحسب النظام أو التطبيق أو السياق. في كثير من الحالات، يُمكن للمستخدم تحديد ما إذا كان البحث حساسًا لحالة الأحرف، كما هو الحال في معظم محررات النصوص ومعالجات الكلمات ومتصفحات الويب . البحث غير الحساس لحالة الأحرف أكثر شمولًا، إذ يعثر على كلمة "Language" (في بداية الجملة)، و"language"، و"LANGUAGE" (في عنوان مكتوب بأحرف كبيرة)؛ بينما يعثر البحث الحساس لحالة الأحرف على لغة البرمجة "BASIC" ولكنه يستبعد معظم حالات استخدام الكلمة غير المرغوب فيها. على سبيل المثال، محرك بحث جوجل غير حساس لحالة الأحرف بشكل أساسي، ولا يوجد خيار للبحث الحساس لحالة الأحرف. [ 5 ] في Oracle SQL، تكون معظم العمليات وعمليات البحث حساسة لحالة الأحرف افتراضيًا، [ 6 ] بينما في معظم أنظمة إدارة قواعد البيانات الأخرى ، تكون عمليات البحث في SQL غير حساسة لحالة الأحرف افتراضيًا. [ 7 ]
يُقال أحيانًا أن العمليات غير الحساسة لحالة الأحرف تُطوى ، وذلك انطلاقًا من فكرة طي جدول رموز الأحرف بحيث تتطابق الأحرف الكبيرة والصغيرة. [ 3 ]
في أنظمة الملفات
في أنظمة الملفات في الأنظمة الشبيهة بنظام يونكس ، عادةً ما تكون أسماء الملفات حساسة لحالة الأحرف (قد يوجد ملفان مختلفان باسم readme.txt و Readme.txt في نفس المجلد). يُعد نظام macOS حالةً استثنائيةً نوعًا ما، إذ يستخدم افتراضيًا نظامي الملفات HFS+ و APFS في وضع غير حساس لحالة الأحرف (بحيث لا يمكن وجود ملفين باسم readme.txt في نفس المجلد)، ولكنه يحافظ على حالة الأحرف (بحيث يظهر الملف الذي تم إنشاؤه باسم readme.txt كما هو، والملف الذي تم إنشاؤه باسم Readme.txt كما هو). يُسبب هذا بعض المشاكل للمطورين والمستخدمين المتقدمين ، لأن معظم أنظمة الملفات في بيئات يونكس الأخرى حساسة لحالة الأحرف، فعلى سبيل المثال، قد يحتوي هيكل شفرة المصدر لبرنامج يعمل على أنظمة يونكس على ملفين باسم Makefile في نفس المجلد. بالإضافة إلى ذلك، تفترض بعض برامج تثبيت نظام macOS عدم حساسية حالة الأحرف، وتفشل في أنظمة الملفات الحساسة لحالة الأحرف. [ 2 ]
كانت أنظمة ملفات MS-DOS القديمة ، FAT12 و FAT16، غير حساسة لحالة الأحرف، وبالتالي يُحفظ الملف الذي يُكتب اسمه readme.txt أو ReadMe.txt باسم README.TXT. لاحقًا، مع نظام VFAT في ويندوز 95، أصبحت أنظمة ملفات FAT حساسة لحالة الأحرف كإضافة لدعم أسماء الملفات الطويلة . [ 8 ] أما أنظمة ملفات ويندوز اللاحقة، مثل NTFS، فهي حساسة لحالة الأحرف داخليًا، ويمكن أن يتعايش ملفان باسم readme.txt وReadme.txt في نفس المجلد. مع ذلك، عمليًا، تُعامل أسماء الملفات على أنها غير حساسة لحالة الأحرف بالنسبة للمستخدمين ومعظم البرامج. [ 9 ] قد يُسبب هذا مشاكل للمطورين أو البرامج القادمة من بيئات شبيهة بنظام يونكس، على غرار مشاكل أنظمة ملفات macOS غير الحساسة لحالة الأحرف.
ملحوظات
مراجع
- ↑ انظر WP:DIFFCAPS
- 1 2 كيرنيغان، برايان دبليو .؛ ريتشي، دينيس إم. (فبراير 1978). "الفصل 2: الأنواع، والمعاملات، والتعبيرات". لغة البرمجة سي (الطبعة الأولى ). إنجلوود كليفس ، نيوجيرسي: برنتيس هول. ص 33. ISBN 0-13-110163-3.
- 1 2 ماتسوموتو، يوكيهيرو (يناير 2002). "الفصل الثاني: أساسيات اللغة" . روبي باختصار ( الطبعة الأولى). أورايلي وسائل الإعلام. ص. 9 . رقم ISBN 0-596-00214-9.
- ↑ "دليل لغة نيم: مساواة المعرفات" . nim-lang.github.io . تم الاطلاع عليه بتاريخ 27-04-2019 .
- ↑ "بحث حساس لحالة الأحرف - بحث جوجل حساس لحالة الأحرف - استضافة مشاريع جوجل" . code.google.com . تم الاطلاع عليه بتاريخ 20-05-2013 .
- ↑ "2.10 جعل الاستعلامات غير حساسة لحالة الأحرف". دليل مستخدم Oracle SQL Developer، الإصدار 1.5 (PDF) . شركة أوراكل . أغسطس 2013.
- ↑ "ج.5.5.1 حساسية حالة الأحرف في عمليات البحث عن السلاسل النصية" . دليل مرجعي لـ MySQL 5.0 . MySQL . تم الاطلاع عليه بتاريخ 20-05-2013 .
- ↑ "حساسية حالة الأحرف في النظام الفرعي لتطبيقات يونكس" . مايكروسوفت ليرن . 22 أغسطس 2005. تاريخ الاسترجاع: 20 مايو 2013 .
- ↑ "أسماء الملفات حساسة لحالة الأحرف على وحدات تخزين NTFS" . دعم مايكروسوفت . 1 نوفمبر 2006. مؤرشف من الأصل في 23 يوليو 2013. تم الاطلاع عليه في 20 مايو 2013 .
- رأس المال
