Znak podkreślenia

_

Znak podkreślenia ( _ ), potocznie podkreślnik – znak mający kod ASCII dziesiętnie 95 lub 0x5F szesnastkowo. Pojawił się po raz pierwszy na klawiaturach maszyn do pisania. Znaczenie tego znaku zmieniało się w zależności od kontekstu użycia.

Pozycja znaku na klawiaturze

W układzie QWERTY znak podkreślenia jest dostępny po naciśnięciu klawisza - umiejscowionego między klawiszami 0 a Backspace, wraz z klawiszem Shift.

W układzie zgodnym z Polską Normą z 1987 znak podkreślenia jest dostępny w kombinacji ⇧ Shift+7.

W układzie klawiatury QWERTZ, powszechnie używanym w Niemczech i Austrii, znak podkreślenia jest dostępny po naciśnięciu klawisza Shift oraz klawisza - położonego pomiędzy klawiszami . oraz Shift.

We francuskim układzie klawiatury AZERTY, znak podkreślenia jest dostępny przez naciśnięcie klawisza 8, który jest rząd wyżej, pomiędzy literami U oraz I.

Użycie znaku podkreślenia

Użycie w maszynach do pisania

Na klawiaturach maszyn do pisania ten znak był stosowany przede wszystkim do podkreślania słów. Podkreślanie polegało na ustawieniu wózka maszyny do pisania w miejscu, w którym należało rozpocząć podkreślanie, a następnie wpisywano znak podkreślenia, aż do ostatniego znaku fragmentu do podkreślenia. Podkreślanie było jedyną metodą bezpośredniego formatowania tekstu w maszynach do pisania.

Użycie w systemach komputerowych

Początki

W programach znaczącej wielkości, konieczne jest używanie identyfikatorów opisowych złożonych z wielu słów, takich jak „previous balance” lub „end of file”. Jednakże spacje zwykle nie są dozwolone wewnątrz nazw identyfikatorów, ponieważ są one traktowane jako ograniczniki słów kluczowych. Pisanie słów razem, na przykład „endoffile” nie jest odpowiednie, ponieważ nazwy stają się nieczytelne. Dlatego też w COBOL-u dozwolone jest użycie łącznika („-”) między słowami tworzącymi identyfikatory, jak w „END-OF-FILE”. Lisp również zezwalał na użycie łącznika w nazwach, traktując operator odejmowania jako identyfikator.

Większość języków programowania interpretuje łącznik jako operator odejmowania i nie pozwala na użycie tego znaku w nazwie identyfikatora. Powszechnie używane zestawy znaków w kartach dziurkowanych na początku lat 60. XX wieku nie miały małych liter i znaków specjalnych, które byłyby odpowiednie do oddzielania wyrazów w identyfikatorach. Kodowanie znaków EBCDIC, wprowadzone przez IBM w 1964 roku wraz z serią komputerów IBM System/360, korzysta z 8 bitów na bajt, więc pozwala na zastosowanie 256 różnych znaków.

Niewielki wzrost w wielkości kodowania znaków w stosunku do wcześniejszych pozwolił na dodanie kilku znaków przestankowych, włącznie ze znakiem podkreślenia, które IBM uznało za znak podziału wyrazów, ale pisanych wyłącznie dużymi literami. W późniejszych wydaniach EBCDIC dodano małe litery. Raport IBM dotyczący NPL (pierwotnej nazwy języka programowania PL/I) pozostawia zestaw znaków niezdefiniowanych, ale wyraźnie uwzględnia znak łamania linii i podaje jako przykład identyfikatora RATE_OF_PAY[1]. W roku 1967 znak podkreślenia został włączony do ASCII[2], zastępując podobnie wyglądający znak strzałki w lewo (←) o kodzie 95 (szesnastkowo 5F) w ASCII-1963 (zobacz również: PIP). Opracowany w Bell Labs na początku lat 70. XX wieku język programowania C umożliwia użycie znaku podkreślenia jako znaku alfanumerycznego[3]

Historyczne

W tekstowych interfejsach użytkownika (na przykład VT100, mainframe, ncurses), znak podkreślenia jest używany jako symbol pól. Wraz z wprowadzeniem graficznego interfejsu użytkownika jego znaczenie zmalało.

W starszych wersjach programów do edycji tekstu, takich jak Microsoft Word dla DOS, podkreślenia było używane do wyróżnienia tekstu kursywą przez postawienie znaku podkreślenia na początku i na końcu tekstu, ale tekst w kursywie był widoczny tylko w wydruku. Ze względu na zachowanie zgodności, wiele programów do edycji tekstu udostępnia tę funkcję. Przykład użycia:

Podczas pisaniaWydruk
Napisać do pana _Kowalskiego_Napisać do pana Kowalskiego

Współczesne

W adresach URL, zasobów internetowych oraz zasobów lokalnych), spacje i inne znaki specjalne wymagają zapisu pod postacią kodu (np. dla spacji kod szesnastkowy to %20), dlatego znak podkreślenia jest używany w ich zastępstwie.

W Usenecie i innych tekstowych mediach, takich jak IRC, znak podkreślenia jest używany do wyróżniania słów, ponieważ formatowanie tekstu nie jest technicznie możliwe, np. _Tobie_ będzie wszystko jedno! W IRC, znak podkreślenia często umieszcza się za nickiem, jeżeli nazwa jest już zajęta. Na przykład osoba, która chce zarejestrować się jako „Max” na serwerze, ale ta nazwa jest już zajęta, może użyć nicka „Max_”.

Innym zastosowaniem tego symbolu jest wprowadzenie szeregu znaków podkreślenia, które mogą utworzyć linię dzielącą lub oznaczyć obszar, który należy uzupełnić. W niektórych przypadkach, znak podkreślenia jest używany jako wieloznacznik i reprezentuje pojedynczy znak (np. w SQL). Ponadto znak podkreślenia jest używany do dziś na całym świecie jako substytut spacji, tam gdzie nie jest to dozwolone, na przykład w adresach e-mail, nazwach zmiennych lub nazwach plików. Należy jednak pamiętać, że ze względu na różne pozycje spacji i znaku podkreślenia w kodowaniu ASCII, kolejność sortowania jest inna. Jest to szczególnie widoczne w specyfikacji systemu plików płyt CD-ROM, czyli ISO 9660, w której znak podkreślenia jest uznawany za znak zastępujący spację.

Według RGB Technology podkreślnik nazywany jest „twardą spacją”.

W Unikodzie znak podkreślenia występuje w wersjach:

ZnakUnicodeKod HTMLNazwa unikodowaNazwa polska
_U+005F_ lub _LOW LINEznak podkreślenia
U+2017ߡ lub ‗DOUBLE LOW LINEpodwójny znak podkreślenia
_U+FF3F_ lub _FULLWIDTH LOW LINEszeroki znak podkreślenia


Zobacz też

Przypisy

  1. NPL Technical Report, IBM, 1964, s. 23 [dostęp 2011-06-09] (ang.).
  2. Eric Fischer, The Evolution of Character Codes, 1874-1968, 2000 [dostęp 2012-10-29] [zarchiwizowane z adresu 2012-09-16] (ang.).
  3. Dennis Ritchie, C Reference Manual, [1975?] [dostęp 2011-06-09] (ang.).

Media użyte na tej stronie

KB United States.svg
Autor: Autor nie został podany w rozpoznawalny automatycznie sposób. Założono, że to Denelson83 (w oparciu o szablon praw autorskich)., Licencja: CC-BY-SA-3.0

"United States" keyboard layout

Created in Inkscape. Text converted to paths due to use of an uncommon font.