Vad är en avgränsare?
I relation till datorer är en avgränsare en separator som definierar enskilda data i en fil, kommunikationsprotokoll eller annan dataström. Separatorn kan vara så enkel som ett enda tecken, såsom komma, eller så komplex som en definierad sekvens av kontrolltecken som inte skrivs ut. Syftet med en avgränsare är att tillhandahålla en förutsägbar och pålitlig mekanism för att dela upp en ström av data i komponentdelar när andra metoder kanske inte är tillförlitliga eller när innehållet i data kan vara mycket godtyckligt. Många datorprogram, från ordbehandlare till spridark till webbläsare, använder avgränsare för olika funktioner. En komplikation som kan uppstå vid användning av en avgränsare är känd som en avgränsningskollision, som uppstår när den avsedda informationen innehåller separatorn som ett tecken som inte är tänkt att tolkas som en separator, kompensera följande data och vanligtvis ogiltigför den.
En avgränsare kan vara ett enda tecken, till exempel ett mellanrum som skiljer ord, som är fallet med många grundläggande kommandoradstolkare och ordbehandlare. Målet är att låta ett program isolera ett enda element från en längre sträng. En webbplatsadress använder till exempel perioder för att separera de olika delarna av webbplatsens namn.
Medan komma, semikolon och andra former av skiljetecken vanligtvis används som separatorer, finns det tillfällen där de är opraktiska, till exempel när man accepterar flera textrader som bildar ett grammatiskt korrekt stycke. I dessa fall kan en avgränsare ha formen av ett kontrolltecken som inte kan skrivas ut så att alla utskrivbara tecken kan användas som data. Ett kontrolltecken som inte skrivs ut är ett enda tecken som inte har någon motsvarande visningsglyf i ett datorteckensnitt, ibland kan inte ens replikeras på ett tangentbord och måste istället genereras av en applikation eller annan funktion. Dessa typer av separatorer fungerar bra i vissa fall, men kan också vara betungande om en användare inte kan producera karaktären utan ett speciellt program. Ett exempel på detta inträffade i tidiga kommandoradsredigeringsprogram, där en användare var tvungen att använda tangentkombinationen "kontroll-Z" för att generera det icke-utskrivna slutfilen (EOF) för att skapa en avgränsare som markerade slutet av en fil.
En mer komplex typ av avgränsare är utformad för att separera hela datablock genom att lägga in data inuti öppnings- och stängningsavskiljare. Dessa separatorer kan ha form av parenteser - som man ser på många programmeringsspråk - citattecken eller asterisker. Målet är att tillhandahålla ett sätt att dela upp ett block av godtycklig data eller text som kan sträcka sig över flera rader, eller inkludera kontroll eller andra specialtecken. I HyperText Markup Language (HTML) är de taggar som används för att markera text omgiven av större än och mindre än tecken, vilket gör att taggarna kan vara av vilken längd som helst och inkluderar kontrolltecken som en vagnretur som genereras när returtangenten trycks ned utan att bryta blocket. Genom att använda avgränsarna på detta sätt kan ett HTML-dokument formateras så att det är mera läsbart utan att skapa problem för HTML-tolkaren.