Verborgen kleurcodes van elk Nederlands kenteken

Gedurende het bestaan van deze blog en bijbehorende site is het al diverse malen gebeurd dat er in de media om reacties gevraagd wordt over ontwikkelingen rondom Nederlandse kentekens. Zo was ik recentelijk vanwege de stemming in de Tweede Kamer over introductie kentekens voor trekkers te horen in het NPO Radio5 programma “Bert op 5”. In de loop van de tijd zijn er diverse creatieve vondsten geweest om mijn oeuvre te typeren, zoals kentekendokter, kentekenner, “vriend van de show”, Mr.Kenteken of kenteken-nerd. Deze laatste classificatie is misschien nog wel het meest geldig voor deze blogposting. Kenteken.TV ontdekte namelijk dat elke Nederlandse kenteken verborgen kleurcodes bevat. Een behoorlijk nerdy verhaal…

Hexadecimale kleuren

Recentelijk heb ik uit de bibliotheek een boek gehaald om beter de basis te snappen van de programmeertaal Python. In het boek wordt over de module tkinter gesproken. Met deze Python module is het mogelijk om o.a. tekeningen te maken met bepaalde kleuren. Voor deze kleuren wordt gebruik gemaakt van een bepaalde kleurenkiezer:

>>> colorchooser.askcolor()
((235.91796875, 86.3359375, 153.59765625), '#eb5699')

In de toelichting over dit stukje code werd het volgende gezegd:

Deze tupel bevat weer een andere tupel met drie getallen en een string.

De drie getallen geven de hoeveelheden rood, groen en blauw aan. In tkinter wordt de hoeveelheid van elke primaire kleur in een kleurencombinatie weergegeven door een getal tussen de 0 en 255. (…) De string in de tupel bevat de hexadecimale versie van deze drie getallen

Het was mij al langer bekend dat kleuren op webpagina’s op allerlei manieren gespecificeerd kunnen worden, waaronder een zogenaamde hexadecimale code. Bij zo’n code worden in plaats van 10 mogelijke decimalen om een getal te coderen, maar liefst 16 karakters gebruikt om een getal te coderen, waarbij de elfde karakter de letter a is, tot en met de zestiende karakter de letter f. Dit wordt ook wel radix of base genoemd, waarbij het normale 10 cijferige getallenstelsel base-10 wordt genoemd, en hexadecimaal getallenstelsel base-16. Het digitale systeem van nulletjes en eentjes wordt bijvoorbeeld binair systeem of base-2 genoemd.

Zo staat de code ffffff voor de kleur wit, terwijl 000000 voor de kleur zwart staat. Ik had me echter nooit gerealiseerd dat je deze codes eigenlijk kan opsplitsen en omrekenen naar een waarde tussen de 0 en 255.

Nederlands kenteken is base-36 code

Bij het zien van de HTML kleurcode #eb5699 kreeg ik een andere associatie. Op 3 januari 1951 werd namelijk het eerste kenteken door Rijksdienst voor het Wegverkeer uitgereikt (later bekender onder de afkorting RDW). Dit eerste kenteken was ND-00-01:

De eerste reeks kentekencombinaties bestond uit 6 karakters, namelijk twee letters gevolgd door 2 groepjes van 2 cijfers. Deze eerste reeks wordt tegenwoordig sidecode 1 genoemd. Anno 2020 zijn er 14 mogelijke reeksen kentekencombinaties bekend.

De eerder genoemde HTML kleurcode bestaat ook uit 6 karakters: 2 letters gevolgd door 4 cijfers. Hier ontstond mijn volgende associatie: Zo’n HTML code is te lezen als een mogelijk Nederlands kenteken:

Met deze gedachte ging ik verder op zoek. Ik besefte al vrij snel dat niet alle bestaande Nederlandse kentekens 1-op-1 een hexadecimale code kon zijn. Een hexadecimale code bestaat namelijk uit 10 decimalen en 6 letters (A tot en met F). In het Nederlandse kentekensysteem worden echter ook andere letters gebruikt.

Voor dit soort coderingen wordt in de automatisering ook wel eens een andere radix gebruikt. Deze base is ideaal om 10 mogelijke cijfers en 26 mogelijke (Latijnse) letters te coderen, oftewel 36 alfanumerieke karakters. Dit wordt ook wel een base-36 code of hexatridecimale code genoemd. Dit betekent dus dat het volgende geconcludeerd kan worden:

Elk Nederlands kenteken is te lezen als een base-36 code

Van base-36 naar HTML kleurcode

Met deze conclusie was het verhaal echter nog niet klaar. Ik had immers de associatie gemaakt dat een HTML kleurcode te lezen is als een Nederlands kenteken. Maar zou het ook andersom kunnen gelden:

Is een Nederlands kenteken om te zetten naar een hexadecimale code of HTML kleurcode?

Op het internet bestaan allerhande conversie tooltjes om deze gedachte uit te voeren. Zo is de base-36 code ND-00-01 (waarbij de streepjes eruit zijn gehaald) te converteren naar base-16 code 5431e901.

In eerste instantie was ik met dit resultaat even teleurgesteld. Ik had me namelijk nog niet gerealiseerd dat bij omzetting van een hogere base code naar een lagere base code per definitie het eindresultaat een groter/hogere code oplevert. In dit geval dus van 6 karakters naar 8 karakters. Een HTML-kleurcode bestaat echter uit maximaal 6 karakters. Ik moest dus een trucje uithalen om van een Nederlands kenteken bij een HTML kleurcode te komen. Ik heb besloten de volgende shortcut te nemen: gebruik de eerste 6 karakters als HTML kleurcode.

Op deze manier krijgt bijna elke kenteken een eigen HTML-kleurcode:

KentekenHTML kleurcode
ND-00-01#5431e9
ND-00-02#5431e9
ND-00-05#5431e9
ND-00-10#5431e9
ND-00-73#5431e9
ND-00-74#5431ea
ND-01-00#5431ee
ND-10-00#54329f

Kleurschema op basis van kenteken

Met deze conversie is het dus mogelijk om elk Nederlands kenteken te voorzien van een eigen HTML kleurcode. Er zijn echter diverse mogelijke kentekencombinaties uitgegeven in de afgelopen tientallen jaren.

Momenteel worden bij de personenauto’s kentekens uitgegeven in de reeks 1 letter – 3 cijfers – 2 letters. Het eerste kenteken uit deze reeks werd vorig jaar uitgereikt en dat was G-001-BB:

De HTML kleurcode van dit kenteken zou #39aa46 worden. Bij het bepalen van de volgende mogelijke kentekencombinatie in deze reeks worden echter een aantal regels toegepast. Zo was het daaropvolgende kenteken in deze reeks G-002-BB en niet G-001-BD. Oftewel, eerst worden alle decimale mogelijkheden doorlopen voordat de laatste letter wordt opgehoogd.

Daarom zou je eigenlijk het kenteken G-001-BB moeten interpreteren als GBB001. En laat dat nu een hele andere base-36 code te zijn en daarmee ook een andere HTML-kleurcode.

Uitbreiding digitale kentekenmaker met kenteken kleurenschema

Sinds jaar en dag is het mogelijk om allerhande digitale kentekenplaten te maken op Kenteken.TV. Deze dienst wordt telkens verder uitgebreid met mogelijkheden. Zo is recentelijk de mogelijkheid tot liggende of staande bromfietskentekenplaten toegevoegd (later volgen nog de snorfietsvarianten).

Als extra in deze online tool wordt op basis van het ingevoerde kenteken en het kenteken uitgeschreven met eerst alle letters en alle cijfers een HTML kleurenschema getoond.

Zo is het HTML kleurenschema van kenteken G-001-BB het volgende:

Deze kleurenschema methode werkt echter niet bij alle mogelijke kentekens. Bij sidecode 1 (kentekenformaat XX-00-00) en sidecode 5 (kentekenformaat XX-XX-00) wordt standaard altijd eerst alle letters en de cijfers getoond. Voor kentekens uit deze reeksen worden dus dezelfde kleurcodes links en rechts getoond.

Wat kunnen we hiermee?

Tja, zoals al aangegeven in het begin van deze posting heeft deze ontdekking een hoog nerdgehalte. Functioneel levert het geheime kleurenschema van je kenteken 0,000000 voordeel op in de dagelijkse gang van zaken. En toch wens ik iedereen veel plezier ermee.