see and dream

UTF-8 wordt vaak gebruikt om speciale tekens te kunnen tonen op een webpagina.
Deze tekencodering wordt dus vaak ingezet voor teksten en data opslag.
Opvallend is dat er ook hexadecimale en decimale referentie’s bestaan naar UTF-8 tekens, zie bijvoorbeeld UTF-8 Dingbats.
Het is dan ook mogelijk om alle tekens te kunnen tonen via bijvoorbeeld een PHP loop.


for($i=0; $i <= 109384; $i++) {
	echo '<span>&#'.$i.'</span>';
}

Deze bovenstaande code is uit te voeren met een PHP online tester.
Een voorbeeld van een online tester is de site PhpTester.net.

De vraag is hoeveel UTF-8 karakters bestaan er reeds, oftewel tot hoever behoort de loop te gaan om alle karakters te kunnen tonen?
Op StackOverflow is deze vraag hier ook al eens eerder gesteld.
Het antwoord was dat er 1111998 valide karakter combinatie’s mogelijk waren in Unicode.
Echter dat er maar 109384 code points zijn toegekend in Unicode 6.0.

Het langste woord in het Nederlands bevat volgens het tv-programma Lingo 60 karakters, lees ook “10 Langste Woorden van Nederland”.
Stel dat je alle UTF-8 karakters opslaat in een database om hierna alle permutatie’s te kunnen genereren voor een maximale woordlengte van 60 karakters.
Op hoeveel permutatie’s komt dat dan neer en is het mogelijk om alleen letters uit UTF-8 te filteren, aangezien woorden met smilies inderdaad niet bestaan?

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *