حساسية الحالة
.svg/440px-A_(capital_and_small).svg.png)
في أجهزة الكمبيوتر، تحدد حساسية الحالة ما إذا كانت الأحرف الكبيرة والصغيرة تُعامل على أنها مميزة ( حساسة لحالة الأحرف ) أو مكافئة ( غير حساسة لحالة الأحرف ). على سبيل المثال، عندما يبحث المستخدمون المهتمون بمعرفة المزيد عن الكلاب في كتاب إلكتروني ، فإن "كلب" و"كلب" لهما نفس الأهمية بالنسبة لهم. وبالتالي، فإنهم يطلبون بحثًا غير حساس لحالة الأحرف. ولكن عندما يبحثون في موسوعة على الإنترنت عن معلومات حول الأمم المتحدة ، على سبيل المثال، أو شيء لا يحتوي على غموض فيما يتعلق باستخدام الأحرف الكبيرة والغموض بين مصطلحين أو أكثر تم اختصارهما باستخدام الأحرف الكبيرة، فقد يفضلون البحث الحساس لحالة الأحرف.
مجالات ذات أهمية
قد تختلف حساسية الحالة حسب الموقف:
- البحث : يتوقع المستخدمون أن تكون أنظمة استرجاع المعلومات قادرة على التعامل مع حالة الأحرف بشكل صحيح اعتمادًا على طبيعة العملية. ربما لا يرغب المستخدمون الذين يبحثون عن كلمة "dog" في مجلة إلكترونية في التمييز بين "dog" أو "Dog"، لأن هذا تمييز كتابي؛ يجب مطابقة الكلمة سواء ظهرت في بداية الجملة أم لا. من ناحية أخرى، قد يكون المستخدمون الذين يبحثون عن معلومات حول اسم علامة تجارية أو علامة تجارية أو اسم إنسان أو اسم مدينة مهتمين بإجراء عملية حساسة لحالة الأحرف لتصفية النتائج غير ذات الصلة. على سبيل المثال، لن يرغب شخص يبحث عن اسم "Jade" في العثور على مراجع للمعدن المسمى "jade". على ويكيبيديا الإنجليزية، على سبيل المثال، يؤدي البحث عن " friend fire" إلى ظهور المقالة العسكرية، ولكن Friendly Fire (بحرف كبير "Fire") يؤدي إلى ظهور صفحة التوضيح. [ملاحظة 1] [1]
- أسماء المستخدمين : تتعامل أنظمة المصادقة عادةً مع أسماء المستخدمين باعتبارها غير حساسة لحالة الأحرف لتسهيل تذكرها، وتقليل تعقيد الكتابة، والقضاء على احتمالية حدوث أخطاء أو احتيال عندما يكون اسما مستخدمين متطابقين في كل جانب باستثناء حالة أحد أحرفهما. ومع ذلك، فإن هذه الأنظمة ليست عمياء لحالة الأحرف. فهي تحافظ على حالة الأحرف في الاسم حتى يتمكن المستخدمون من اختيار مزيج اسم مستخدم مبهج من الناحية الجمالية.
- كلمات المرور : عادةً ما تتعامل أنظمة المصادقة مع كلمات المرور باعتبارها حساسة لحالة الأحرف. وهذا يتيح للمستخدمين زيادة تعقيد كلمات المرور الخاصة بهم.
- أسماء الملفات : تقليديًا، تتعامل أنظمة التشغيل الشبيهة بنظام يونكس مع أسماء الملفات بحساسية لحالة الأحرف بينما لا يتعامل نظام التشغيل Microsoft Windows مع حالة الأحرف، ولكن بالنسبة لمعظم أنظمة الملفات، فإنه يحافظ على حالة الأحرف . لمزيد من التفاصيل، راجع أدناه.
- أسماء المتغيرات : بعض لغات البرمجة حساسة لحالة الأحرف في أسماء متغيراتها بينما لا تفعل لغات أخرى ذلك. لمزيد من التفاصيل، راجع أدناه.
- عناوين URL : قد تكون أقسام المسار والاستعلام والجزء والصلاحيات في عنوان URL حساسة لحالة الأحرف أو لا تكون كذلك ، وذلك حسب خادم الويب المتلقي . ومع ذلك، فإن أجزاء المخطط والمضيف تكون بأحرف صغيرة تمامًا .
في لغات البرمجة
بعض لغات البرمجة حساسة لحالة الأحرف بالنسبة لمعرفاتها ( C و C++ و Java و C# و Verilog و [2] Ruby و [3] Python و Swift ). والبعض الآخر غير حساس لحالة الأحرف (أي غير حساس لحالة الأحرف)، مثل ABAP و Ada ومعظم لغات BASIC (الاستثناء هو BBC BASIC ) و Common Lisp و Fortran و SQL (بالنسبة للبنية النحوية، وبالنسبة لبعض تطبيقات البائعين، مثل Microsoft SQL Server ، البيانات نفسها) [ملاحظة 2] Pascal و Rexx و ooRexx . وهناك أيضًا لغات، مثل Haskell و Prolog و Go ، حيث يؤدي استخدام الأحرف الكبيرة في المعرف إلى ترميز معلومات حول دلالاته . بعض لغات البرمجة الأخرى لها حساسية متفاوتة لحالة الأحرف؛ في PHP ، على سبيل المثال، تكون أسماء المتغيرات حساسة لحالة الأحرف ولكن أسماء الوظائف ليست حساسة لحالة الأحرف. هذا يعني أنه إذا تم تعريف دالة بأحرف صغيرة، فيمكن استدعاؤها بأحرف كبيرة، ولكن إذا تم تعريف متغير بأحرف صغيرة، فلا يمكن الإشارة إليه بأحرف كبيرة. Nim لا يفرق بين حالة الأحرف ويتجاهل الشرطات السفلية، طالما أن الأحرف الأولى متطابقة. [4]
البحث في النص
يمكن أن تكون عملية البحث عن النص حساسة لحالة الأحرف أو غير حساسة لحالة الأحرف، اعتمادًا على النظام أو التطبيق أو السياق. يمكن للمستخدم في كثير من الحالات تحديد ما إذا كان البحث حساسًا لحالة الأحرف، على سبيل المثال في معظم محررات النصوص ومعالجات الكلمات ومتصفحات الويب. البحث غير الحساس لحالة الأحرف أكثر شمولاً، حيث يجد "اللغة" (في بداية الجملة) و"اللغة" و"اللغة" (في عنوان بأحرف كبيرة)؛ سيجد البحث الحساس لحالة الأحرف لغة الكمبيوتر "BASIC" ولكنه يستبعد معظم الحالات غير المرغوب فيها للكلمة. على سبيل المثال، محرك بحث Google غير حساس لحالة الأحرف بشكل أساسي، مع عدم وجود خيار للبحث الحساس لحالة الأحرف. [5] في Oracle SQL، تكون معظم العمليات والبحث حساسة لحالة الأحرف بشكل افتراضي، [6] بينما في معظم أنظمة إدارة قواعد البيانات الأخرى ، تكون عمليات البحث SQL غير حساسة لحالة الأحرف بشكل افتراضي. [7]
يُقال أحيانًا أن العمليات غير الحساسة لحالة الأحرف تؤدي إلى طي حالة الأحرف ، وذلك من فكرة طي جدول رموز الأحرف بحيث تتطابق الأحرف الكبيرة والصغيرة.
في أنظمة الملفات
في أنظمة الملفات في أنظمة شبيهة بنظام يونكس ، تكون أسماء الملفات عادةً حساسة لحالة الأحرف (يمكن أن يكون هناك ملفات readme.txt وReadme.txt منفصلة في نفس الدليل). يعد نظام التشغيل MacOS غير معتاد إلى حد ما في أنه يستخدم افتراضيًا نظامي HFS+ و APFS في وضع غير حساس لحالة الأحرف (بحيث لا يمكن أن يكون هناك ملف readme.txt وReadme.txt في نفس الدليل) ولكن وضع الحفاظ على حالة الأحرف (بحيث يتم عرض الملف الذي تم إنشاؤه كـ readme.txt كـ readme.txt ويتم عرض الملف الذي تم إنشاؤه كـ Readme.txt كـ Readme.txt) افتراضيًا. يتسبب هذا في بعض المشكلات للمطورين والمستخدمين المحترفين ، لأن معظم أنظمة الملفات في بيئات شبيهة بنظام يونكس حساسة لحالة الأحرف، على سبيل المثال، قد تحتوي شجرة التعليمات البرمجية المصدرية للبرامج للأنظمة الشبيهة بنظام يونكس على ملف باسم Makefile وملف باسم makefile في نفس الدليل. بالإضافة إلى ذلك، تفترض بعض برامج التثبيت الخاصة بنظام Mac عدم حساسية حالة الأحرف وتفشل في أنظمة الملفات الحساسة لحالة الأحرف.
كانت أنظمة الملفات القديمة MS-DOS FAT12 و FAT16 غير حساسة لحالة الأحرف ولا تحافظ على حالة الأحرف، بحيث يتم حفظ الملف الذي يتم إدخال اسمه كـ readme.txt أو ReadMe.txt كـ README.TXT. لاحقًا، مع VFAT في Windows 95، أصبحت أنظمة الملفات FAT محافظة على حالة الأحرف كامتداد لدعم أسماء الملفات الطويلة . [8] أنظمة ملفات Windows اللاحقة مثل NTFS حساسة لحالة الأحرف داخليًا، ويمكن أن يتعايش readme.txt وReadme.txt في نفس الدليل. ومع ذلك، لأغراض عملية، تتصرف أسماء الملفات على أنها غير حساسة لحالة الأحرف فيما يتعلق بالمستخدمين ومعظم البرامج. [9] يمكن أن يتسبب هذا في حدوث مشكلات للمطورين أو البرامج القادمة من بيئات شبيهة بنظام Unix، على غرار المشكلات التي تحدث مع أنظمة الملفات غير الحساسة لحالة الأحرف في نظام macOS.
ملحوظات
- ^ يجب أن يمر الرابط "النيران الصديقة" عبر المؤهل (التوضيح) في مقالة ويكيبيديا لتجنب خطأ WP:INTDAB .
- ^ على الرغم من أنه من الممكن تعيين قاعدة بيانات واحدة أو ترتيب أعمدة بشكل صريح ليكون حساسًا لحالة الأحرف
مراجع
- ^ انظر WP:DIFFCAPS
- ^ Kernighan, Brian W. ; Ritchie, Dennis M. (February 1978). "Chapter 2: Types, Operators and Expressions". The C Programming Language (1st ed.). Englewood Cliffs, NJ: Prentice Hall. p. 33. ISBN 0-13-110163-3.
- ^ ماتسوموتو ، يوكيهيرو (يناير 2002). “الفصل الثاني: أساسيات اللغة”. روبي باختصار (الطبعة الأولى). أورايلي وسائل الإعلام. ص. 9. رقم ISBN 0-596-00214-9.
- ^ "دليل Nim: مساواة المعرف". nim-lang.github.io . تم الاسترجاع في 2019-04-27 .
- ^ "بحث حساس لحالة الأحرف - بحث جوجل حساس لحالة الأحرف - استضافة مشروع جوجل". code.google.com . تم الاسترجاع في 2013-05-20 .
- ^ "2.10 جعل الاستعلامات غير حساسة لحالة الأحرف". دليل مستخدم Oracle SQL Developer، الإصدار 1.5 (PDF) . Oracle Corporation . أغسطس 2013.
- ^ "C.5.5.1 حساسية الحالة في عمليات البحث عن السلاسل". دليل مرجعي لـ MySQL 5.0 . MySQL . تم الاسترجاع في 2013-05-20 .
- ^ "حساسية الحالة في النظام الفرعي للتطبيقات المستندة إلى UNIX". Microsoft Learn . 2005-08-22 . تم الاسترجاع في 2013-05-20 .
- ^ "أسماء الملفات حساسة لحالة الأحرف على وحدات تخزين NTFS". دعم Microsoft . 2006-11-01. مؤرشف من الأصل في 23 يوليو 2013. تم الاسترجاع في 2013-05-20 .
