Case sensitivity – określenie interpretacji danych charakteryzującej się rozróżnianiem semantyki liter małych i wielkich (ang. case sensitive). Z kolei w przypadku case insensitive nie rozróżnia się wielkości liter.

Przykłady

edytuj

Systemy operacyjne

edytuj

Systemy z rodziny Unix rozróżniają wielkość liter (case sensitive), więc system zwróci błąd po próbie odwołania się do pliku Plik.c, mając tylko plik.c (pierwsza litera różni się wielkością). W systemach z rodziny Windows, plik test.exe uruchomimy także wpisując TesT.eXe.

Programowanie

edytuj

Wartości

edytuj

Poniższy kod w PHP sprawdza czy ciąg Wikipedia jest równy ciągowi wikipedia.

<?php
if ('Wikipedia' == 'wikipedia') echo 'Te same ciągi'; else echo 'Ciągi się różnią';

Wynikiem programu będzie tekst „Ciągi się różnią”, ponieważ wielkość pierwszej litery się różni.

Nazwy zmiennych

edytuj

Z kolei ten kod PHP porównuje zmienną do stałej wartości. Jest bardziej skomplikowany, jednak pokazuje częsty błąd programistyczny.

<?php
$zmienna = true;
if ($Zmienna == false) echo '$Zmienna ma wartość false'; else echo '$Zmienna ma wartość true';

Dla początkującego programisty mogłoby się zdawać, że wynikiem programu będzie ciąg "$Zmienna ma wartość true". Jednak wartość $zmienna to true, a $Zmienna nie jest ustawiona i nie jest tym samym co $Zmienna[1], co przy luźnym porównywaniu (==) spowoduje rzutowanie typu przez interpreter do typu boolean, a wartość przybierze wartość domyślną, czyli false. W rezultacie $zmienna ma ustawioną wartość true, $Zmienna ma w typie boolean domyślną wartość false, a więc wynikiem będzie „$Zmienna ma wartość false”.

Rozróżnianie wielkości liter różni się w zależności od wersji i danego elementu. Przykładowo cały XHTML jest case sensitive (np. tag <body> jest prawidłowy, <BODY> już nie). Z kolei HTML5 w większości jest case insensitive, jednak z elementami case sensitive. Dla przykładu w <!DOCTYPE html> fragment DOCTYPE jest case insensitive (można zapisać np. jako "dOcTyPe"), a ciąg "html" jest case sensitive (więc zapis np. "hTmL" jest nieprawidłowy)[2].

Przypisy

edytuj