De American Standard Code for Information Interchange (ASCII) is een tekencoderingsstandaard die in computers en elektronische apparaten wordt gebruikt om tekst weer te geven. ASCII werd begin jaren zestig ontwikkeld en was aanvankelijk ontworpen voor telecommunicatieapparatuur. Later werd het een van de meest gebruikte coderingsstandaarden voor het weergeven van letters, cijfers en besturingscodes in computers en andere digitale apparaten.
ASCII gebruikt een 7-bits binaire code om 128 verschillende tekens weer te geven. Dit omvat 33 niet-afdrukbare controletekens (die bepalen hoe tekst wordt verwerkt) en 95 afdrukbare tekens, waaronder het Engelse alfabet (zowel hoofdletters als kleine letters), cijfers (0-9), leestekens en een paar andere symbolen.

Een kort historisch overzicht van ASCII
Begin jaren zestig ontwikkelde een commissie onder leiding van Robert W. Bemer ASCII om de manier te standaardiseren waarop computers letters, cijfers en bepaalde controletekens weergeven en om de communicatie tussen verschillende apparaten en systemen te vergemakkelijken.
In 1963 publiceerde de American Standards Association (nu ANSI, het American National Standards Institute) voor het eerst ASCII als standaard voor telecommunicatie- en computerapparatuur. Vijf jaar later werd een herziene versie uitgebracht, waarin kleine letters en meer controletekens werden toegevoegd, waardoor ASCII werd uitgebreid om veelzijdiger en geschikter te worden voor een breder scala aan toepassingen.
In de jaren zeventig en tachtig werd ASCII op grote schaal toegepast op verschillende platforms en technologieën, waardoor het zichzelf ontwikkelde tot de de facto standaard voor tekstbestanden op computers en internet. Door zijn eenvoud en efficiëntie was het ideaal voor vroege computersystemen, die een beperkte verwerkingskracht en opslagcapaciteit hadden. De Internationale Organisatie voor Standaardisatie (ISO) heeft ASCII in 1970 aangenomen als onderdeel van de ISO/IEC 1980-standaard, waardoor de status ervan als internationale standaard werd versterkt.
Hoewel het 7- bits ontwerp van ASCII voldoende was voor Engelse tekens, bood het geen ondersteuning voor andere talen en speciale symbolen. Deze beperking leidde tot de ontwikkeling van uitgebreide ASCII en andere coderingsschema's, zoals ISO 8859-1 (Latin-1), om tekens uit andere talen te kunnen weergeven. De komst van Unicode en UTF-8-codering begin jaren negentig loste de beperkingen van ASCII op door een universele tekenset te bieden die alle bekende tekens en symbolen uit elk schrijfsysteem ter wereld omvat, terwijl deze toch compatibel blijft met ASCII.
Waarom is ASCII belangrijk?
ASCII speelt om verschillende redenen een centrale rol in computers en digitale communicatie, waaronder:
- Gestandaardiseerde codering. ASCII zorgde voor een consistente manier om karakters te coderen, waardoor een uniforme gegevensrepresentatie op verschillende apparaten en systemen mogelijk werd.
- Efficiëntie en eenvoud. Met zijn 7-bits ontwerp was ASCII efficiënt en eenvoudig, waardoor het zeer geschikt was voor vroege computers, die een beperkte verwerkingskracht en opslag hadden. Door op deze manier tekens te coderen, werd de ontwikkeling mogelijk van vroege op tekst gebaseerde interfaces, programmeertalen en bestandsformaten.
- Interoperabiliteit. De wijdverbreide acceptatie van ASCII maakte het tot een gemeenschappelijke taal voor computers en apparaten. Deze interoperabiliteit was cruciaal voor de groei van het internet en de uitwisseling van informatie tussen verschillende platforms en technologieën.
- Legacy en compatibiliteit. Veel moderne coderingsschema's, zoals UTF-8, zijn gebouwd met achterwaartse compatibiliteit met ASCII. Systemen die deze nieuwere standaarden gebruiken, kunnen nog steeds ASCII-gecodeerde gegevens begrijpen en verwerken, waardoor de levensduur en bruikbaarheid van ASCII-gecodeerde inhoud worden gegarandeerd.
- Basis voor verdere ontwikkeling. ASCII maakte de weg vrij voor de ontwikkeling van uitgebreidere coderingsstandaarden zoals Unicode, die een breder scala aan tekens omvat om meerdere talen en symbolen mogelijk te maken. Unicode breidt het basisidee van ASCII uit naar een mondiale schaal, waardoor tekstrepresentatie in vrijwel alle geschreven talen mogelijk wordt.
- Educatieve waarde. Leren over ASCII is vaak een startpunt voor studenten en nieuwe programmeurs om meer te begrijpen over karaktercodering, de binaire representatie van gegevens en de geschiedenis van computers. Het legt de basis voor complexere computerwetenschappelijke en informatietechnologieonderwerpen.
Hoe werkt ASCII?
ASCII functioneert door een unieke 7-bits binaire code toe te wijzen aan elk teken in de set, waardoor computers en elektronische apparaten tekst kunnen weergeven en manipuleren met behulp van binaire gegevens. Dit 7-bits schema maakt 128 verschillende combinaties (2^7) mogelijk die overeenkomen met de 128 unieke tekens van de ASCII-standaard. Deze tekens omvatten 33 controletekens (niet-afdrukbare), die de tekstopmaak en transmissiecontrole beheren, en 95 afdrukbare tekens, waaronder het Engelse alfabet (in hoofdletters en kleine letters), cijfers (0-9), leestekens en een selectie van speciale symbolen.
Het weergeven van tekens als binaire getallen maakt efficiënte verwerking, opslag en verzending van tekstuele informatie in digitale vorm mogelijk, waardoor uniformiteit tussen verschillende computer- en telecommunicatiesystemen wordt gewaarborgd. Wanneer een gebruiker een toets op een toetsenbord indrukt, wordt de corresponderende ASCII-binaire code gegenereerd en naar de computer gestuurd, die deze vervolgens verwerkt als het aangewezen teken. Dit systeem vormt de basis voor het creëren, weergeven en uitwisselen van tekst in de meeste computersystemen en is de basis voor bestandsformaten, gegevensoverdrachtprotocollen en programmeertalen.
ASCII-tekens
ASCII definieert 128 tekens, die in twee hoofdgroepen zijn opgesplitst: controletekens (niet-afdrukbare) en afdrukbare tekens. Elk teken wordt weergegeven door een 7-bits getal, variërend van 0 tot 127. Hieronder vindt u een vereenvoudigde lijst en uitleg van deze tekens:
Controletekens (0–31 en 127)
Controletekens kunnen niet worden afgedrukt. Ze worden gebruikt om de stroom of het formaat van tekst in apparaten en communicatie te controleren:
0–31: Diverse besturingscodes worden gebruikt voor tekstopmaak of apparaatbesturing. Voorbeelden zijn:
- 0 (NUL, nul): Gebruikt als stringterminator in programmeertalen.
- 7 (BEL, bel): Zorgt ervoor dat het apparaat een geluidssignaal afgeeft.
- 8 (BS, Backspace): Verplaatst de cursor één positie terug.
- 9 (TAB, horizontaal tabblad): Verplaatst de cursor naar de volgende tabstop.
- 10 (LF, regelinvoer): Verplaatst de cursor naar de volgende regel.
- 13 (CR, retourzending): Verplaatst de cursor naar het begin van de regel.
- 27 (ESC, ontsnapping): Wordt gebruikt om ontsnappingssequenties te initiëren.
127 (DEL): Oorspronkelijk ontworpen om de verwijdering van een teken aan te geven.
Afdrukbare tekens (32–126)
Afdrukbare tekens zijn onder meer letters, cijfers, leestekens en een paar speciale symbolen:
- 32 (spatie): Een lege ruimte in de tekst.
- 33-47: Inclusief interpunctie en symbolen zoals !, ", #, $, %, &, ', (, ), *, +, ,, -, ., /.
- 48-57: Vertegenwoordigt cijfers 0 naar 9.
- 58-64: Extra leestekens en symbolen, inclusief :, ;, <, =, >, ?, @.
- 65-90: Hoofdletters A naar Z.
- 91-96: Inclusief [, \, ], ^, _, en terugtik `.
- 97-122: Kleine letters a naar z.
- 123-126: Symbolen {, |, }en ~.