Case sensitivity
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 | edytuj kod]Systemy operacyjne
[edytuj | edytuj kod]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 | edytuj kod]Wartości
[edytuj | edytuj kod]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 | edytuj kod]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
”.
HTML
[edytuj | edytuj kod]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].