Caz sensibil

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Se spune sensibil caz (în limba engleză și jargonul de calculator caz sensibil) fiecare operațiune de analiză de text care distinge două cuvinte egale de bazate pe utilizarea literelor majuscule sau minuscule .

Cuvintele cu majuscule nu au întotdeauna același sens ca aceleași litere mici. De exemplu, „Zucchero” este numele de scenă al cântărețului Adelmo Fornaciari , spre deosebire de „ zahăr ” în sensul de carbohidrați .

Domeniul IT

Calculatoarele electronice sunt capabile să identifice diferit literele mari și mici. Acest lucru este important, de exemplu, în cazul parolelor ; de multe ori, totuși, numele de utilizator sunt insensibile (în limba engleză sunt insensibile la majuscule și minuscule ), ceea ce poate provoca confuzie utilizatorului începător. Parolele au devenit sensibile, astfel încât este mai greu de obținut prin încercare și eroare , iar numele utilizatorilor nu suferă de această problemă (sensibilitatea lor la capital ar duce doar la o dificultate mai mare de stocare).

Unele limbaje de programare precum Java , C , C ++ și Python sunt sensibile, în timp ce altele nu sunt (de exemplu, BASIC , Pascal și ASP ).

Atunci când software-ul trebuie să compare datele într-un mod care nu face sensibilitatea la majuscule, este nevoie de mai multă muncă, în funcție de tipul său. De obicei, este suficient, într-un tip de codificare a caracterelor, cum ar fi ASCII sau EBCDIC , să se convertească întregul text fie cu litere mici, fie cu litere mari. În cazul codificărilor în mai multe limbi, cum ar fi Unicode , procesarea devine mai complexă, deoarece nu toate caracterele cu litere mici au versiunea corespunzătoare cu majuscule și invers: de exemplu, în limba germană , înainte de 2017, nu exista o versiune cu majusculă a literei « ß „(Nu trebuie confundat cu„ β ”, formă minusculă a literei grecești beta ,„ Β ”).

Operațiunile care nu iau în considerare scrierea cu majuscule sunt uneori denumite „fold fold” (în engleză, tiny folded), ideea de a plia tabelul codurilor de caractere astfel încât literele mici și mari să coincidă. Termenul alternativ „spargerea caselor” ( „distrus minuscul”) este adesea folosit pentru a se referi la un comportament voluntar sau involuntar al unui program care convertește literele minuscule permanente în majuscule sau invers.

Sistemele de operare de tip Unix (cu excepția macOS , implicit) sunt sensibile la majuscule, spre deosebire de alte sisteme, cum ar fi Microsoft Windows , care consideră că cele două forme sunt echivalente. Deoarece majoritatea serverelor web se bazează pe sisteme Unix, multe site-uri consideră, prin urmare, pagini diferite, cum ar fi „ index.html ” și „ INDEX.HTML ”.

Distincția între majuscule și minuscule poate varia în funcție de situație:

  • Cercetare: utilizatorii se așteaptă ca sistemele de recuperare a informațiilor să poată fi sensibile la majuscule și minuscule, în funcție de natura unei operații. Utilizatorii care caută cuvântul „câine” într-un ziar online probabil nu vor să facă distincția între „câine” sau „câine”, deoarece aceasta este o distincție scrisă; cuvântul trebuie găsit indiferent dacă apare sau nu la începutul unei propoziții. Pe de altă parte, utilizatorii care caută informații despre o marcă, o marcă, un nume uman sau un nume de oraș ar putea fi interesați să efectueze o operațiune sensibilă la majuscule și minuscule pentru a filtra rezultatele irelevante. De exemplu, cineva care caută numele „Jad” nu ar dori să găsească referințe la mineralul numit „jad”. De exemplu, pe Wikipedia în engleză, o căutare a Focului prietenos returnează articolul militar, dar Focul prietenos (capitolul „Foc”) returnează pagina de dezambiguizare.
  • Numele de utilizator: sistemele de autentificare tratează de obicei numele de utilizator ca fiind nesensibile la majuscule și minuscule pentru a facilita memorarea, a reduce complexitatea tastării și a elimina posibilitatea de erori și fraude atunci când două nume de utilizator sunt identice din toate punctele de vedere, cu excepția cazului uneia dintre literele lor. Cu toate acestea, aceste sisteme nu sunt blind-majuscule . Acestea păstrează cazul personajelor din nume, astfel încât utilizatorii să poată alege o combinație plăcută din punct de vedere estetic.
  • Parole: sistemele de autentificare tratează de obicei parolele ca fiind sensibile la majuscule. Acest lucru permite utilizatorilor să crească complexitatea parolelor lor.
  • Nume de fișiere: În mod tradițional, sistemele de operare Unix tratează numele fișierelor într-o manieră diferențiată de majuscule și minuscule, în timp ce Microsoft Windows nu este sensibil la majuscule, dar, pentru majoritatea sistemelor de fișiere, este diferențiat de majuscule și minuscule. Pentru mai multe detalii, a se vedea mai jos.
  • Nume variabile: Unele limbaje de programare sunt sensibile la majuscule și minuscule pentru numele variabilelor, în timp ce altele nu. Pentru mai multe detalii, a se vedea mai jos.
  • Adresă URL: secțiunea de cale , interogare , fragment și autorizare a unei adrese URL poate fi sau nu sensibilă la majuscule, în funcție de serverul web destinatar. Cu toate acestea, schema și părțile gazdă sunt strict sensibile.

În limbaje de programare

Unele limbaje de programare sunt sensibile la majuscule și minuscule pentru identificatorii lor (C, C ++, Java, C #, Verilog [1] , Ruby [2] , Python și Swift). Altele nu sunt sensibile la majuscule și minuscule (adică nu sunt sensibile la majuscule / minuscule), cum ar fi ABAP, Ada, majoritatea BASIC (cu excepția BBC BASIC), Fortran, SQL (pentru sintaxă și unele implementări ale furnizorilor, cum ar fi Microsoft SQL Server, datele ei înșiși) și Pascal. Există, de asemenea, limbi, cum ar fi Haskell, Prolog și Go, în care capitalizarea unui identificator codifică informații despre semantica sa. Unele alte limbaje de programare sunt sensibile la majuscule și minuscule; în PHP, de exemplu, numele variabilelor sunt sensibile la majuscule, dar numele funcțiilor nu sunt sensibile la majuscule și minuscule. Aceasta înseamnă că, dacă definiți o funcție cu litere mici, o puteți apela cu majuscule, dar dacă definiți o variabilă cu litere mici, nu vă puteți referi la aceasta cu majuscule. Nim nu este sensibil la majuscule și minuscule și ignoră punctele de subliniere atât timp cât primele caractere se potrivesc [3] .

În căutarea textului

O operațiune de căutare text poate fi sensibilă la majuscule sau minuscule, în funcție de sistem, aplicație sau context. Utilizatorul poate specifica, în multe cazuri, dacă o căutare este sensibilă la majuscule, de exemplu în majoritatea editorilor de text, a procesoarelor de text și a browserelor web. O căutare diferențiată de majuscule și minuscule este mai completă, găsind „Limbă” (la începutul unei propoziții), „limbă” și „LIMBĂ” (într-un titlu cu majuscule); o căutare sensibilă la majuscule și minuscule va găsi limbajul computerului „BASIC”, dar va exclude majoritatea numeroaselor instanțe nedorite ale cuvântului. De exemplu, motorul de căutare Google este practic diferențiat de majuscule și minuscule, fără opțiunea de căutare sensibilă la majuscule [4] . În Oracle SQL, majoritatea operațiunilor și căutărilor sunt sensibile la majuscule și minuscule în mod implicit [5] , în timp ce în majoritatea celorlalte DBMS-uri, căutările SQL nu sunt sensibile la majuscule și minuscule în mod implicit [6] .

Uneori se spune că operațiunea nu este sensibilă la majuscule și minuscule, îndoiți carcasa, ideea de a plia tabelul caracterelor astfel încât codurile să fie potrivite între majuscule și minuscule.

În sistemele de fișiere

În sistemele de fișiere de pe sistemele de tip Unix, numele fișierelor sunt de obicei sensibile la majuscule (pot exista fișiere readme.txt și readme.txt separate în același director). MacOS este destul de neobișnuit prin faptul că, în mod implicit, folosește HFS + și APFS, astfel încât să nu fie sensibil la majuscule și minuscule (astfel încât să nu existe un readme.txt și un Readme.txt în același director), ci modul de păstrare cu majuscule ( astfel încât un fișier creat ca readme.txt este afișat ca readme.txt și un fișier creat ca Readme.txt este afișat ca Readme.txt) în mod implicit. Acest lucru cauzează unele probleme dezvoltatorilor și utilizatorilor avansați, deoarece majoritatea sistemelor de fișiere din alte medii Unix sunt sensibile la majuscule și minuscule și, de exemplu, un arbore de cod sursă pentru software pentru sistemele Unix ar putea avea atât un fișier numit Makefile, cât un fișier numit makefile în același director. De asemenea, unii instalatori Mac presupun că nu sunt sensibile la majuscule și la minuscule și nu reușesc pe sistemele de fișiere sensibile la majuscule și minuscule.

Vechile sisteme de fișiere MS-DOS FAT12 și FAT16 nu erau sensibile la majuscule și minuscule, astfel încât un fișier al cărui nume a fost introdus ca readme.txt sau ReadMe.txt este salvat ca README.TXT. Mai târziu, cu VFAT în Windows 95, sistemele de fișiere FAT au devenit o extensie a formatului de fișiere Long suport [7] . Mai târziu, sistemele de fișiere Windows, cum ar fi NTFS, sunt sensibile la majuscule, iar un Readme.txt și un Readme.txt pot coexista în același director. Cu toate acestea, în scopuri practice, numele fișierelor se comportă într-un mod care nu face sensibilitatea la majuscule și minuscule pentru utilizatori și majoritatea software-ului [8] . Acest lucru poate provoca probleme dezvoltatorilor sau software-urilor din medii asemănătoare Unix, similar cu problemele cu sistemele de fișiere macOS care nu sunt sensibile la majuscule.

Notă

  1. ^ Brian W. Kernighan și Dennis M. Ritchie , Capitolul 2: Tipuri, operatori și expresii , în Limbajul de programare C , 1st, Englewood Cliffs, NJ, Prentice Hall, februarie 1978, p. 33 , ISBN 0-13-110163-3 .
  2. ^ Yukihiro Matsumoto , Capitolul 2: Limbi de bază , în Ruby pe scurt , 1, O'Reilly Media, ianuarie 2002, p. 9 , ISBN 0-596-00214-9 .
  3. ^ Manual Nim: Identity Equality , la nim-lang.github.io . Adus pe 27 aprilie 2019 .
  4. ^ căutare sensibilă la scrierea cu minuscule - minuscule la minuscule - căutare Google - Google Project Hosting , în code.google.com . Adus la 20 mai 2013 .
  5. ^ 2.10 Solicitare de interogări nedistribuitoare la majuscule ( PDF ), în Ghidul utilizatorului Oracle SQL Developer, versiunea 1.5 , Oracle Corporation , august 2013.
  6. ^ MySQL :: MySQL 5.0 Manual de referință :: C.5.5.1 Sensibilitate între majuscule și minuscule în căutările de șiruri , la dev.mysql.com . Adus la 20 mai 2013 .
  7. ^ Case Sensitivity in Subsystem for UNIX-based Applications , în technet.microsoft.com , 22 august 2005. Accesat la 20 mai 2013 .
  8. ^ Numele de fișiere sunt sensibile la majuscule și minuscule pe volumele NTFS , în support.microsoft.com , 1 noiembrie 2006. Accesat la 20 mai 2013 .

Elemente conexe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT