ANSI versus Unicode
ANSI en Unicode zijn coderingen van twee tekens die op een bepaald moment wijdverspreid gebruikt werden. Het gebruik is ook het belangrijkste verschil tussen beide omdat ANSI erg oud is en wordt gebruikt door besturingssystemen zoals Windows 95/98 en ouder, terwijl Unicode een nieuwere codering is die momenteel door alle huidige besturingssystemen wordt gebruikt. ANSI had vele beperkingen die in de vroege stadia van het gebruik niet meteen duidelijk waren, maar werd pijnlijk duidelijk zodra de computer zich wereldwijd begon te verspreiden.
Het belangrijkste nadeel van ANSI is het gebruik van veel codepagina's, afhankelijk van de taal die wordt gebruikt; er is er een voor Engels (bekend als West-Europees Latijn), Grieks, Turks, Hebreeuws, Arabisch en vele anderen. Er is geen probleem wanneer alle computers die toegang tot de gegevens hebben dezelfde codepagina gebruiken, maar wanneer verschillende codepagina's in gebruik zijn, zou de gelezen data niet hetzelfde zijn als de gegevens die zijn geschreven. Dit kan leiden tot gegevensbeschadiging en zelfs programmacrashes in bepaalde scenario's.
De reden waarom ANSI niet geschikt is, is dat het slechts 8 bits gebruikt om elk codepunt te vertegenwoordigen. Deze breedte is vast en heeft slechts een totaal van 256 verschillende combinaties. In vergelijking gebruikt Unicode maximaal 32 bits voor elk codepunt; gebruikt in vaste breedte in UTF-32. Maar omdat het gebruik van vier bytes voor elk personage zo'n enorme verspilling van ruimte is, wordt codering met variabele breedte gebruikt in UTF-8 en UTF-16 om ruimte te besparen.
Omdat Unicode een nieuwere standaard is, wordt verwacht dat oudere besturingssystemen dit mogelijk niet ondersteunen. Hoewel de codepunten van UTF-8 en ANSI vrijwel identiek zijn, kunnen oudere besturingssystemen zoals Windows 95 niet werken. Daarom kunnen programma's die Unicode gebruiken, niet correct worden uitgevoerd op deze besturingssystemen. Ten opzichte van het tegenovergestelde, of het uitvoeren van ANSI-gecodeerde programma's op nieuwere besturingssystemen, is het mogelijk omdat er mechanismen zijn om te converteren tussen ANSI en Unicode. Houd er rekening mee dat de conversie een beetje verwerkingsoverhead toevoegt. Het is misschien niet zo belangrijk op de computers van vandaag, maar het is nog steeds de moeite waard om er kennis van te nemen om de efficiëntie van het programma te verbeteren.
Samenvatting:
1. ANSI is een zeer oude karaktercodering en Unicode is de huidige standaard die tegenwoordig wordt gebruikt
2. ANSI gebruikt verschillende pagina's voor verschillende talen, terwijl Unicode dat niet doet
3. ANSI maakt gebruik van codering met vaste breedte terwijl Unicode zowel vaste als variabele breedte kan gebruiken
4. Unicode-programma's zullen niet werken op oudere systemen
5. ANSI-programma's zijn langzamer dan Unicode-programma's op de huidige computers