Forskjellen mellom ANSI og Unicode

ANSI vs Unicode

ANSI og Unicode er to tegnkodinger som på et eller annet tidspunkt var i utbredt bruk. Bruk er også den viktigste forskjellen mellom de to som ANSI er veldig gammel og brukes av operativsystemer som Windows 95/98 og eldre, mens Unicode er en nyere koding som brukes av alle dagens operativsystemer i dag. ANSI hadde mange begrensninger som ikke var tydelige i de tidlige stadier av bruken av den, men ble smertelig klar når databehandling begynte å spre seg globalt.

Den største ulempen ved ANSI er bruken av mange kodesider, avhengig av hvilket språk som blir brukt. Det er en for engelsk (kjent som vest-europeisk latin), gresk, tyrkisk, hebraisk, arabisk og mange andre. Det er ikke noe problem når alle datamaskiner som får tilgang til dataene bruker samme kodeside, men når ulike kode sider er i bruk, vil dataene ikke være det samme som dataene som er skrevet. Dette kan føre til data korrupsjon og jevn programkrasj i visse scenarier.

Grunnen til at ANSI ikke kan imøtekomme er at den bruker bare 8 biter til å representere hvert kodepunkt. Denne bredden er fast og har bare totalt 256 forskjellige kombinasjoner. Til sammenligning bruker Unicode maksimalt 32 bits for hvert kodepunkt; brukes i fast bredde i UTF-32. Men fordi du bruker fire byte for hver karakter, er så stort sløsing med plass, variabel breddekoding ansatt i UTF-8 og UTF-16 for å spare plass.

Fordi Unicode er en nyere standard, forventes det at eldre operativsystemer kanskje ikke støtter det. Selv om kodepunktene til UTF-8 og ANSI er ganske mye identiske, kan eldre operativsystemer som Windows 95 ikke fungere med det. Derfor vil programmer som bruker Unicode ikke kunne kjøre riktig på disse operativsystemene. Med hensyn til motsatt, eller kjører ANSI-kodede programmer på nyere operativsystemer, er det mulig da det er mekanismer for å konvertere mellom ANSI og Unicode. Bare husk at konverteringen legger til litt prosesseringskostnader. Det kan ikke være vesentlig gitt dagens datamaskiner, men det er fortsatt verdt å merke seg å forbedre program effektiviteten.

Sammendrag:

1. ANSI er en veldig gammel tegnkodning og Unicode er den nåværende standarden som brukes i dag
2. ANSI bruker forskjellige sider for forskjellige språk mens Unicode ikke gjør det
3. ANSI bruker fast breddekodning mens Unicode kan bruke både fast og variabel bredde
4. Unicode-programmer fungerer ikke på eldre systemer
5. ANSI-programmer er langsommere enn Unicode-programmer på nåværende datamaskiner