Znak odstępu — Whitespace character
W programowaniu komputerowym , spacja jest dowolny znak lub ciąg znaków, które reprezentują poziomą lub pionową przestrzeń w typografii . Podczas renderowania biały znak nie odpowiada widocznemu znacznikowi, ale zwykle zajmuje obszar na stronie. Na przykład wspólny symbol spacji U+0020 SPACJA (również ASCII 32) reprezentuje znak interpunkcyjny spacji w tekście, używany jako dzielnik wyrazów w zachodnich pismach .
Przegląd
W wielu układach klawiatury znak odstępu można wprowadzić za pomocą spacebar. Poziome białe znaki można również wprowadzać na wielu klawiaturach za pomocą Tab ↹klawisza, chociaż długość tych odstępów może być różna. Pionowe białe znaki są nieco bardziej zróżnicowane pod względem sposobu ich kodowania, ale najbardziej oczywistym w przypadku wpisywania jest ↵ Enterwynik, który tworzy sekwencję kodu „nowej linii” w programach użytkowych. Starsze klawiatury mogą zamiast tego mówić Return, co oznacza skrót klawiaturowy maszyny do pisania oznaczający „powrót karetki”, który generował elektromechaniczny powrót do lewego zatrzymania (kod CR w ASCII- hex &0D;) i wysuw wiersza lub przejście do następnego wiersza (kod LF w ASCII -hex &0A;); w niektórych zastosowaniach były one niezależnie używane do rysowania wyświetlaczy opartych na komórkach tekstowych na monitorach lub do drukowania na drukarkach kierowanych przez ciągnik - które mogą również zawierać sekwencje kodów ruchów wstecznych / pozycjonowania, umożliwiając tekstowym urządzeniom wyjściowym uzyskanie bardziej wyrafinowanych wyników. Wiele wczesnych gier komputerowych wykorzystywało takie kody do rysowania ekranu (np. Królestwo Krozu ), a oprogramowanie do edycji tekstu wykorzystywało to do tworzenia efektów drukowanych, takich jak pogrubienie, podkreślenie i przekreślenie.
Termin „biała spacja” opiera się na wyglądzie wynikowym na zwykłym papierze . Jednak są one zakodowane wewnątrz aplikacji, białe znaki mogą być przetwarzane tak samo jak każdy inny kod znakowy, a programy mogą wykonywać odpowiednią akcję zdefiniowaną dla kontekstu, w którym występują.
Definicja i niejednoznaczność
Najczęściej używane znaki odstępu można wpisywać za pomocą spacji lub klawisza tabulacji . W zależności od kontekstu, łamanie linii generowane przez klawisz Enter lub Enter może być również traktowane jako białe znaki.
Unicode
Poniższa tabela zawiera listę dwudziestu pięciu znaków zdefiniowanych jako białe znaki ("WSpace=Y", "WS") w bazie danych znaków Unicode . Siedemnaście używa definicji białych znaków zgodnych z algorytmem dwukierunkowego zapisu ("Typ znaków dwukierunkowych=WS") i są one znane jako znaki "Bidi-WS". Pozostałe znaki również mogą być użyte, ale nie są tego typu "Bidi".
Uwaga: w zależności od przeglądarki i czcionek użytych do wyświetlenia poniższej tabeli, nie wszystkie spacje mogą być wyświetlane poprawnie.
Nazwa | Punkt kodowy | Szerokość pudełka | Może się zepsuć ? | W IDN ? |
Scenariusz | Blok | Kategoria ogólna |
Uwagi | |
---|---|---|---|---|---|---|---|---|---|
tablica znaków | U+0009 | 9 | tak | Nie | Pospolity | Łacina podstawowa | Inne, kontrola |
HT, zakładka pozioma . Nazwana jednostka HTML/XML : 	 , LaTeX : '\tab'
|
|
wysuw linii | U + 000A | 10 | Czy linia łamania | Pospolity | Łacina podstawowa | Inne, kontrola |
LF, wysuw linii . Nazwana jednostka HTML/XML:

|
||
tabela wierszy | U + 000 mld | 11 | Czy linia łamania | Pospolity | Łacina podstawowa | Inne, kontrola |
VT, zakładka pionowa | ||
kanał formularzy | U + 000C | 12 | Czy linia łamania | Pospolity | Łacina podstawowa | Inne, kontrola |
FF, podawanie formularzy | ||
powrót karetki | U+000D | 13 | Czy linia łamania | Pospolity | Łacina podstawowa | Inne, kontrola |
CR, Zwrot karetki | ||
przestrzeń | U+0020 | 32 | tak | Nie | Pospolity | Łacina podstawowa | Separator, spacja |
Najczęściej (normalna przestrzeń ASCII) | |
następny wiersz | U+0085 | 133 | Czy linia łamania | Pospolity | Dodatek Latin-1 |
Inne, kontrola |
NEL, następna linia | ||
spacja bez przerwy | U+00A0 | 160 | Nie | Nie | Pospolity | Dodatek Latin-1 |
Separator, spacja |
Przestrzeń niełamliwa : identyczna jak U+0020, ale nie punkt, w którym linia może być łamana. Nazwana jednostka HTML/XML: , LaTeX: '\'
|
|
znak spacji ogham | U+1680 | 5760 | tak | Nie | Ogham | Ogham | Separator, spacja |
Używany do międzysłowna separacji w Ogham tekstu. Zwykle pionowa linia w tekście pionowym lub pozioma linia w tekście poziomym, ale może również być pustą przestrzenią w czcionkach „bez stempla”. Wymaga czcionki Ogham. | |
en quad | U+2000 | 8192 | tak | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Szerokość jednego en . U+2002 jest kanonicznie odpowiednikiem tego znaku; Preferowany jest U+2002. | |
im quad | U+2001 | 8193 | tak | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Znany również jako „kwadrat barani”. Szerokość jednego em . U+2003 jest kanonicznie odpowiednikiem tego znaku; Preferowany jest U+2003. | |
en space | U+2002 | 8194 | tak | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Znany również jako „orzech”. Szerokość jednego en . U + 2000 En Quad jest kanonicznie odpowiednikiem tego znaku; Preferowany jest U+2002. Nazwana jednostka HTML/XML:   , LaTeX: '\enspace'
|
|
ich przestrzeń! | U+2003 | 8195 | tak | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Znany również jako „baranina”. Szerokość jednego em . U+2001 Em Quad jest kanonicznie odpowiednikiem tej postaci; Preferowany jest U+2003. Nazwana jednostka HTML/XML:   , LaTeX: '\quad'
|
|
spacja trzy na em | U+2004 | 8196 | tak | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Znany również jako „gruba przestrzeń”. Jedna trzecia szerokości em. Nazwana jednostka HTML/XML: 
|
|
cztery miejsca na em | U+2005 | 8197 | tak | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Znany również jako „przestrzeń środkowa”. Jedna czwarta szerokości em. Nazwana jednostka HTML/XML: 
|
|
przestrzeń sześć na em | U+2006 | 8198 | tak | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Jedna szósta szerokości em. W typografii komputerowej czasami utożsamiany z U+2009. | |
miejsce na figurę | U+2007 | 8199 | Nie | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Przestrzeń rysunkowa . W czcionkach z cyframi o stałej szerokości równej szerokości jednej cyfry. Nazwana jednostka HTML/XML: 
|
|
spacja interpunkcyjna | U+2008 | 8200 | tak | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Tak szerokie, jak wąska interpunkcja w czcionce, tj. szerokość kropki lub przecinka. Nazwana jednostka HTML/XML: 
|
|
cienka przestrzeń | U+2009 | 8201 | tak | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Cienka przestrzeń ; jedna piąta (czasami jedna szósta) szerokości em. Zalecany do stosowania jako separator tysięcy dla miar wykonanych w jednostkach SI . W przeciwieństwie do U+2002 do U+2008, jego szerokość może zostać dostosowana w składzie. Nazwana jednostka HTML/XML:   ; LaTeX: '\,'
|
|
przestrzeń na włosy | U + 200A | 8202 | tak | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Cieńszy niż cienka przestrzeń. Nazwana jednostka HTML/XML:   ( nie działa we wszystkich przeglądarkach)
|
|
separator linii | U+2028 | 8232 | Czy linia łamania | Pospolity | Ogólna interpunkcja |
Separator, linia |
|||
separator akapitów | U+2029 | 8233 | Czy linia łamania | Pospolity | Ogólna interpunkcja |
Separator, akapit |
|||
wąska przestrzeń bez przerw | U+202F | 8239 | Nie | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
Wąska przestrzeń bez przerwy . Podobny w działaniu do U+00A0 No-Break Space. W przypadku użycia z mongolskim jego szerokość wynosi zwykle jedną trzecią normalnej przestrzeni; w innym kontekście, jego szerokość czasami przypomina Thin Space (U+2009). | |
średnia przestrzeń matematyczna | U+205F | 8287 | tak | Nie | Pospolity | Ogólna interpunkcja |
Separator, spacja |
MMSP. Używany we wzorach matematycznych. Cztery osiemnaste em. W typografii matematycznej szerokości odstępów są zwykle podawane w całkowitych wielokrotnościach osiemnastej części em, a 4/18 em może być używany w kilku sytuacjach, na przykład między a i + oraz między + i b w wyrażenie a + b . Nazwana jednostka HTML/XML: 
|
|
przestrzeń ideograficzna | U + 3000 | 12288 | tak | Nie | Pospolity | Symbole i znaki interpunkcyjne CJK |
Separator, spacja |
Tak szeroki jak komórka znakowa CJK ( fullwidth ). Używany na przykład w tai tou . |
Nazwa | Punkt kodowy | Szerokość pudełka | Może się zepsuć ? | W IDN ? |
Scenariusz | Blok | Kategoria ogólna |
Uwagi | |
---|---|---|---|---|---|---|---|---|---|
mongolski separator samogłosek | U + 180E | 6158 | | tak | Nie | mongolski | mongolski | Inne, Format |
MVS. Znak wąskiej spacji, używany w języku mongolskim, który powoduje, że ostatnie dwa znaki słowa przybierają różne kształty. Nie jest już klasyfikowany jako znak spacji (tj. w kategorii Zs) w Unicode 6.3.0, mimo że był w poprzednich wersjach standardu. |
przestrzeń o zerowej szerokości | U+200B | 8203 | | tak | Nie | ? | Ogólna interpunkcja |
Inne, Format |
ZWSP, spacja o zerowej szerokości . Służy do wskazywania granic słów w systemach przetwarzania tekstu podczas używania skryptów, które nie używają wyraźnych odstępów. Jest podobny do łącznika miękkiego , z tą różnicą, że ten ostatni służy do wskazywania granic sylab i powinien wyświetlać widoczny łącznik, gdy linia się na nim łamie. Nazwana jednostka HTML/XML :​
|
zerowa szerokość non-joiner | U + 200C | 8204 | | tak | Kontekst zależny | ? | Ogólna interpunkcja |
Inne, Format |
ZWNJ, niełączący o zerowej szerokości . Po umieszczeniu między dwoma znakami, które w innym przypadku byłyby połączone, ZWNJ powoduje, że są one drukowane odpowiednio w ich ostatecznej i początkowej formie. Nazwana jednostka HTML/XML:‌
|
łącznik o zerowej szerokości | U+200D | 8205 | | tak | Kontekst zależny | ? | Ogólna interpunkcja |
Inne, Format |
ZWJ, łącznik o zerowej szerokości . Po umieszczeniu między dwoma znakami, które w przeciwnym razie nie byłyby połączone, ZWJ powoduje ich wydrukowanie w połączonych formach. Może być również używany do wyświetlania formularzy łączących w izolacji. W zależności od tego, czy domyślnie oczekuje się ligatur lub koniunkcji, może albo wywołać (jak w emoji i syngaleskim ) albo powstrzymać (jak w Devanagari ) podstawienie pojedynczym glifem, jednocześnie pozwalając na użycie indywidualnych form łączących (w przeciwieństwie do ZWNJ). Nazwana jednostka HTML/XML:‍
|
słowo łącznik | U+2060 | 8288 | | Nie | Nie | ? | Ogólna interpunkcja |
Inne, Format |
WJ, stolarz słowny . Podobny do U+200B, ale bez punktu, w którym linia może zostać przerwana. Nazwana jednostka HTML/XML:⁠
|
zerowa szerokość niełamliwa spacja | U+FEFF | 65279 | | Nie | Nie | ? | Arabskie formularze prezentacyjne -B |
Inne, Format |
Spacja nierozdzielająca o zerowej szerokości . Używany głównie jako znacznik kolejności bajtów . Użycie jako wskazania braku złamania jest przestarzałe od Unicode 3.2; zamiast tego patrz U+2060. |
Obrazy zastępcze
Unicode zapewnia również pewne widoczne znaki, których można użyć do reprezentowania różnych znaków odstępu, w kontekstach, w których musi być wyświetlany widoczny symbol:
Kod | Dziesiętny | Nazwa | Blok | Wyświetlacz | Opis |
---|---|---|---|---|---|
U+00B7 | 183 | Środkowa kropka | Dodatek Latin-1 | · |
Interpunct Nazwany podmiot: ·
|
U+21A1 | 8609 | Strzałka z dwoma grotami w dół | Strzałki | ↡ | Symbol ECMA-17 / ISO 2047 dla wysuwu strony (podział strony) |
U + 2261 | 8810 | Identyczne z | Operatory matematyczne |
≡ | Wśród innych zastosowań jest symbol ECMA-17 / ISO 2047 dla wysuwu wiersza |
U+237D | 9085 | Ramię otwarte pudełko | Różne techniczne | ⍽ | Używane do wskazania NBSP |
U+23CE | 9166 | Symbol zwrotu | Różne techniczne | ⏎ | Symbol klawisza powrotu , który wprowadza łamanie wiersza |
U + 2409 | 9225 | Symbol tabeli poziomej | Kontroluj zdjęcia | ␉ | Substytuty znaku tabulacji |
U + 240A | 9226 | Symbol wysuwu wiersza | Kontroluj zdjęcia | ␊ | Substytuty wysuwu wiersza |
U + 240B | 9227 | Symbol tabeli pionowej | Kontroluj zdjęcia | ␋ | Zastępuje zakładkę pionową (zakładka linia) |
U + 240C | 9228 | Symbol podawania formularza | Kontroluj zdjęcia | ␌ | Zamienniki formularza (podział strony) |
U + 240D | 9229 | Symbol powrotu karetki | Kontroluj zdjęcia | ␍ | Zastępuje powrót karetki |
U+2420 | 9248 | Symbol przestrzeni | Kontroluj zdjęcia | ␠ | Substytuty przestrzeni ASCII |
U+2422 | 9250 | Pusty symbol | Kontroluj zdjęcia | ␢ | aka „substitute blank”, używane w BCDIC , EBCDIC , ASCII-1963 itp. jako symbol separatora słów |
U+2423 | 9251 | Otwierać pudełko | Kontroluj zdjęcia | ␣ | Stosowany w piśmie drukowanym drukowanymi literami co najmniej od lat 80-tych, kiedy konieczne jest jednoznaczne wskazanie liczby znaków spacji (np. przy programowaniu piórem i papierem). Używany w podręczniku (opublikowanym 1982, 1984, 1985, 1988 przez Springer-Verlag) w Modula-2 , języku programowania, w którym kody przestrzenne wymagają wyraźnego wskazania. Stosować również w manipulatorów Texas Instruments TI-8 x serii z wykresów kalkulatorów . Nazwany podmiot: ␣
|
U+2424 | 9252 | Symbol nowej linii | Kontroluj zdjęcia |  | Substytuty łamania wiersza |
U+25B3 | 9651 | Biały trójkąt skierowany w górę | Figury geometryczne | △ | Wśród innych zastosowań jest symbol ECMA-17 / ISO 2047 dla przestrzeni ASCII |
U+2A5B | 10843 | Logiczne lub ze środkowym trzpieniem | Uzupełniające operatory
matematyczne |
⩛ | Wśród innych zastosowań jest symbol ECMA-17 / ISO 2047 dla zakładki pionowej (zakładka liniowa) |
U+2AAAA | 10922 | Mniejszy niż | Uzupełniające operatory
matematyczne |
⪪ | Wśród innych zastosowań jest symbol ECMA-17 / ISO 2047 dla zwrotu karetki |
U+2AAAB | 10923 | Większy niż | Uzupełniające operatory
matematyczne |
⪫ | Wśród innych zastosowań jest symbol ECMA-17 / ISO 2047 dla znaku tabulacji |
U+3037 | 12343 | Ideograficzny symbol separatora zasilania linii telegraficznych |
Symbole i znaki interpunkcyjne CJK |
〷 | Grafika używana dla kodu 9999 w chińskim kodzie telegraficznym , reprezentująca wysuw linii |
- ^ Powyżej zera "0" lub ujemnego "(‒)".
- Dokładna przestrzeń
- Cambridge Z88 pod warunkiem specjalnym „dokładny space” (punkt kodowy 160 aka 0xA0) (invokable przez klawisz skrótu ⌑+ SPACE), wyświetlany jako „...” przez sterownik ekranu systemu operacyjnego. Dlatego w połączeniu z BBC BASIC nazwano ją również „przestrzeń kropkową” .
- W punkcie kodowym 224 (0xE0) komputer dostarczył również specjalny trzyznakowy symbol SPACE o szerokości komórek „SPC” (analogiczny do U+2420 o szerokości pojedynczej komórki w Unicode).
Spacje bez spacji
- Wzory Braille'a blok Unicode zawiera U + 2800 ⠀ braille WZORCÓW BLANK (HTML
⠀
), A Braille'a wzór bez punktów podniesiona. Niektóre czcionki wyświetlają znak jako spację o stałej szerokości, jednak standard Unicode wyraźnie stwierdza, że nie działa on jako spacja. - Pokrycie alfabetu koreańskiego przez Unicode obejmuje kilka punktów kodowych, które reprezentują brak pisanej litery, a zatem nie wyświetlają glifu:
- Unicode zawiera hangyl Filler znak w hangyl Zgodność Jamo bloku ( U + 3164 ㅤ HANGUL FILLER (HTML
ㅤ
)). Jest to klasyfikowane jako list, ale wyświetlane jako puste miejsce, jak blok Hangul bez jamo. Jest używany w sekwencjach łączących KS X 1001 Hangul, aby je wprowadzić lub oznaczyć brak litery na pozycji, ale nie w systemie łączenia jamo Unicode. - Łączący system jamo Unicode wykorzystuje podobne znaki Hangul Choseong Filler i Hangul Jungseong Filler, aby wskazać brak litery w początkowej lub środkowej pozycji w bloku sylaby, które są zawarte w bloku Hangul Jamo ( U+115F ᅟ HANGUL CHOSEONG FILLER (HTML
ᅟ
) , U+1160 ᅠ HANGUL JUNGSEONG FILLER (HTMLᅠ
)). - Dodatkowo połowę szerokości hangyl wypełniacz jest zawarty w połowę szerokości i pełnej szerokości form ( U + FFA0 ㅤ połowę szerokości HANGUL WYPEŁNIAJĄCY (HTML
ᅠ
)), które są stosowane przy odwzorowującym kodowania, które zawierają znaki zarówno z Johab (lub Wansung ) i N-bajtowego Hangul ( lub jego odpowiednik EBCDIC ), taki jak IBM-933, który zawiera zarówno wypełniacze Johab, jak i EBCDIC.
- Unicode zawiera hangyl Filler znak w hangyl Zgodność Jamo bloku ( U + 3164 ㅤ HANGUL FILLER (HTML
Biała przestrzeń i typografia cyfrowa
Wyświetlanie na ekranie
Edytory tekstu , edytory tekstu i oprogramowanie DTP różnią się sposobem przedstawiania białych znaków na ekranie oraz spacji na końcach wierszy dłuższych niż szerokość ekranu lub kolumny. W niektórych przypadkach spacje są wyświetlane po prostu jako puste miejsca; w innych przypadkach mogą być reprezentowane przez interpunkcję lub inne symbole. Do tworzenia spacji można użyć wielu różnych znaków (opisanych poniżej), a funkcje niebędące znakami (takie jak ustawienia marginesów i tabulatorów) mogą również wpływać na odstępy.
Przestrzeń ogólnego przeznaczenia o zmiennej szerokości
W komputerowych kodowaniach znaków istnieje normalna przestrzeń ogólnego przeznaczenia (znak Unicode U + 0020), której szerokość będzie się różnić w zależności od projektu kroju pisma. Typowe wartości wahają się od 1/5 em do 1/3 em (w typografii cyfrowej em jest równy nominalnemu rozmiarowi czcionki, więc dla czcionki 10-punktowej odstęp będzie prawdopodobnie wynosił od 2 do 3,3 punktu). Wyrafinowane czcionki mogą mieć różne wielkości spacji na pogrubienie, kursywę i kapitaliki, a często kompozytorzy ręcznie dostosowują szerokość spacji w zależności od rozmiaru i wyeksponowania tekstu.
Oprócz tej przestrzeni ogólnego przeznaczenia możliwe jest zakodowanie przestrzeni o określonej szerokości. Pełna lista znajduje się w poniższej tabeli.
Przestrzenie włosów wokół kresek
Łączniki Em używane jako dzielniki w nawiasach i pauzy końca używane jako łączniki wyrazów są zwykle ustawione jako ciągłe z tekstem. Jednak taką kreskę można opcjonalnie otoczyć przestrzenią włosową U+200A lub wąską przestrzenią U+2009. Przestrzeń włosa można zapisać w języku HTML przy użyciu numerycznych odwołań znakowych  
lub  
, lub nazwanej jednostki  
, ale od 2016 r. nie jest jeszcze powszechnie obsługiwana w przeglądarkach. Cienka spacja to nazwana encja  
i odwołania numeryczne  
lub  
. Te przestrzenie są znacznie cieńsze niż normalne (z wyjątkiem czcionki o stałej szerokości (nieproporcjonalnej) ), przy czym przestrzeń włosa jest cieńsza z tych dwóch.
Normalna przestrzeń z kreską em | Lewo prawo |
---|---|
Cienka przestrzeń z kreską em | lewy — prawy |
Przestrzeń na włosy z em kreską | Lewo prawo |
Brak spacji z em kreską | Lewo prawo |
Aplikacje komputerowe
Języki programowania
W składni języka programowania spacje są często używane do jawnego oddzielania tokenów . W większości języków wiele białych znaków jest traktowanych tak samo jak pojedynczy znak odstępu (poza ciągami w cudzysłowie); takie języki nazywane są free-form . W kilku językach, w tym Haskell , occam , ABC i Python , białe znaki i wcięcia są używane do celów składniowych. W satyrycznym języku o nazwie Whitespace , białe znaki są jedynymi prawidłowymi znakami do programowania, podczas gdy inne znaki są ignorowane.
Nadmierne użycie białych znaków, zwłaszcza końcowych białych znaków na końcach linii, jest uważane za uciążliwe. Jednak prawidłowe użycie białych znaków może ułatwić odczytywanie kodu i pomóc w pogrupowaniu powiązanej logiki.
Większość języków rozpoznaje jako białe znaki tylko znaki ASCII, aw niektórych przypadkach także znaki nowej linii Unicode, ale nie większość znaków wymienionych powyżej. Język C definiuje białe znaki jako „spację, tabulację poziomą, nową linię, tabulację pionową i wysuw strony”. HTTP protokół sieciowy wymaga różnych rodzajów białych znaków do wykorzystania w różnych częściach protokołu, takich jak: tylko spacja w stan linii CRLF na końcu linii, a „liniowy spacje” w wartości nagłówka.
Interfejsy użytkownika wiersza poleceń
W poleceniach przetwarzanych przez procesory poleceń , np. w skryptach i wpisywanych, znak spacji może powodować problemy, ponieważ ma dwie możliwe funkcje: jako część polecenia lub parametru albo jako parametr lub separator nazwy . Niejednoznaczności można zapobiec, zabraniając osadzonych spacji lub umieszczając nazwę z osadzonymi spacjami między znakami cudzysłowu.
Języki znaczników
Niektóre języki znaczników, takie jak SGML , zachowują białe znaki w formie pisemnej.
Języki znaczników internetowych, takie jak XML i HTML, traktują specjalnie znaki spacji, w tym znaki spacji, dla wygody programistów. Jeden lub więcej znaków spacji odczytywanych przez zgodne procesory czasu wyświetlania tych języków znaczników jest zwijanych do 0 lub 1 spacji, w zależności od ich kontekstu semantycznego. Na przykład podwójne (lub więcej) spacje w tekście są zwijane do pojedynczej spacji, a spacje, które pojawiają się po obu stronach „ =
”, oddzielającej nazwę atrybutu od jego wartości, nie mają wpływu na interpretację dokumentu. Znaczniki końcowe elementów mogą zawierać końcowe spacje, a znaczniki pustych elementów w XML mogą zawierać spacje przed „ />
”. W tych językach niepotrzebne białe znaki zwiększają rozmiar pliku i mogą spowolnić transfery sieciowe. Z drugiej strony, niepotrzebne odstępy mogą również niepozornie oznaczać kod, podobny do, ale mniej oczywisty niż komentarze w kodzie. Może to być pożądane w celu udowodnienia naruszenia licencji lub praw autorskich, które zostało popełnione przez kopiowanie i wklejanie .
W wartościach atrybutów XML sekwencje białych znaków są traktowane jako pojedyncza spacja, gdy dokument jest odczytywany przez parser. Białe znaki w treści elementu XML nie są w ten sposób zmieniane przez parser, ale aplikacja odbierająca informacje z parsera może zdecydować się na zastosowanie podobnych reguł do treści elementu. Autor dokumentu XML może użyć xml:space="preserve"
atrybutu na elemencie, aby poinstruować parser, aby zniechęcił aplikację do zmiany białych znaków w treści tego elementu.
W większości elementów HTML sekwencja białych znaków jest traktowana jako pojedynczy separator między wyrazami , co może objawiać się jako pojedynczy znak spacji podczas renderowania tekstu w języku, który normalnie wstawia takie odstępy między słowami. Zgodne renderery HTML są wymagane, aby zastosować bardziej dosłowne traktowanie białych znaków w kilku określonych elementach, takich jak pre
tag i każdy element, dla którego zastosowano CSS do pre
przetwarzania białych znaków. W takich elementach znaki spacji nie będą „zwinięte” na separatory między wyrazami.
Zarówno w XML, jak i HTML znak spacji nierozdzielającej , wraz z innymi niestandardowymi spacją, nie jest traktowany jako zwijalna „biała spacja”, więc nie podlega powyższym regułom.
Nazwy plików
Takie użycie jest podobne do wielowyrazowych nazw plików pisanych dla systemów operacyjnych i aplikacji, które są mylone przez osadzone kody spacji — takie nazwy plików zamiast tego używają podkreślenia (_) jako separatora słów, as_in_this_phrase.
Kolejnym takim symbolem był U+2422 ␢ BLANK SYMBOL . To było używane we wczesnych latach programowania komputerowego podczas pisania na formularzach kodowania. Operatory Keypunch natychmiast rozpoznały symbol jako „wyraźną spację”. Był używany w BCDIC , EBCDIC i ASCII-1963 .
Zobacz też
- Zwrot karetki
- Em (typografia)
- Pl (typografia)
- Kanał formularza
- Styl wcięcia
- Podawanie linii
- Nowa linia
- Styl programowania
- Prosigns dla alfabetu Morse'a
- Klasy wyrażeń regularnych#Character dla klasy znaków odstępu.
- Spacja
- Spacja (interpunkcja)
- Klawisz TAB
- Przycinanie (programowanie komputerowe)
- Białe znaki (język programowania)
- Przestrzeń o zerowej szerokości