Whitespace (karakter)

Uit Wikipedia, de vrije encyclopedie

Een whitespace is een verzamelnaam voor alle horizontale en verticale spaties die bij weergave een lege ruimte tonen tussen de zichtbare tekens of woorden (horizontaal) of regels (verticaal).

Lege karakters[bewerken | brontekst bewerken]

Een andere benaming voor deze groep karakters is blank characters ('lege karakters') in een karakterset, die kunnen voorkomen in een (digitaal) tekstbestand, of in tekstdelen van computerbestanden (bijvoorbeeld in metadata). Van deze karakters zijn de 'spatie', 'tab', 'line feed' (ook wel 'new line' genoemd) en 'carriage return' het meest bekend en gebruikt. Met name bij de 'spatie' en de 'tab' is het evident dat op de plaats van het karakter een lege ruimte in de tekstregel te zien is. Naast de vier eerder genoemde blank characters, vallen ook 'line tabulation', 'form feed', 'next line' en 'no break space' uit de ASCII-tabel onder de noemer whitespace.

Anders dan de afzonderlijke karakters die de verzameling van de blank characters vormen, is er logischerwijs geen ASCII-code voor de 'whitespace'; het is immers geen discreet karakter in de karakterset. Er is wel een karaktercombinatie die de whitespace representeert in 'regular expressions'.

Representatie van blank characters[bewerken | brontekst bewerken]

Karakter Aanduiding ASCII-code
(decimaal)
ASCII-code
(hexadecimaal)
ASCII-code
(octaal)
HTML-code Reguliere
expressie
CTRL+
letter[ref 1]
tab[1] HT 009 0x09 011 	 of 	 \t ^I
line feed[2] LF, EOL[3] 010 0x0a 012 
 of 
 \n ^J
line tabulation[4] VT 011 0x0b 013  \v ^K
form feed[5] FF 012 0x0c 014  \f ^L
carriage return CR 013 0x0d 015 
 \r ^M
spatie SP 032 0x20 040     of [ ]
next line NEL 133 0x85 205 … \x85[6]
harde spatie NBSP 160 0xa0 240   of   \xa0[6]
white space WS n.v.t.[7] n.v.t.[7] n.v.t.[7] n.v.t.[7] \s

In de reguliere expressie-kolom zijn slechts voorbeelden getoond, er zijn diverse andere mogelijkheden om de betreffende karakters in een regular expression te beschrijven of te matchen. Daarnaast dient nog opgemerkt te worden, dat afhankelijk van waar en hoe de reguliere expressies gebruikt worden, ze soms omgeven dienen te worden door de regexp-delimiter (scheidingsteken), de forward slash (/). Bij gebruik in shells of shell scripts, wanneer een regular expression als parameter/argument wordt meegegeven, kan het noodzakelijk zijn om deze bijvoorbeeld in te sluiten in single quotes ('), al dan niet zelf weer escaped (voorafgegaan door een backslash) om te voorkomen dat speciale karakter(combinatie)s door de shell worden geëvalueerd in plaats van door het aangeroepen commando of programma.[ref 2][ref 3]

Andere karaktersets[bewerken | brontekst bewerken]

Naast de ASCII-karakterset, bestaan er ook andere en grotere karaktersets, zoals Unicode. Hierin bevinden zich behalve de hierboven genoemde blank characters, nog meer karakters die tot de whitespaces gerekend worden. Voor het gebruik van reguliere expressies met bijvoorbeeld de Unicode-karakterset, zal het programma of de software waarin deze gebruikt worden, wel Unicode moeten ondersteunen. In dat geval zal de regexp \s ook matchen met alle tekens die tot de whitespaces worden gerekend, maar zal (mogelijk) geen eenletterige \-sequence bestaan die individueel matchen met de whitespace-karakters die niet in de klassieke ASCII-tabel voorkomen. In plaats daarvan kan op Unicode-karakter worden gematched met de expressie \uFFFF of \u{FFFF}, waarin FFFF dan correspondeert met de hexadecimale waarde van het betreffende karakter.[ref 3]