Erinevus ANSI ja Unicode vahel

ANSI vs Unicode

ANSI ja Unicode on kaks märgikodeeringut, mis olid ühel või teisel hetkel laialt levinud. Kasutamine on ka peamine erinevus nende kahe vahel, kuna ANSI on väga vana ja seda kasutavad opsüsteemid nagu Windows 95/98 ja vanemad, samas kui Unicode on uuem kodeering, mida kasutavad kõik praegused opsüsteemid tänapäeval. ANSI-l oli palju piiranguid, mis ei olnud selle kasutamise varases staadiumis eriti ilmsed, kuid said valusalt selgeks pärast seda, kui arvuti hakkas ülemaailmselt levima..

ANSI peamine puudus on paljude koodilehtede kasutamine, sõltuvalt kasutatavast keelest; seal on üks inglise keel (tuntud kui Lääne-Euroopa ladina keel), kreeka, türgi, heebrea, araabia ja paljud teised. Pole probleeme, kui kõik andmetele juurdepääsu saavad arvutid kasutavad sama koodilehte, kuid kui erinevad koodilehed on kasutusel, poleks loetud andmed samad, mis kirjutatud andmed. See võib teatud stsenaariumide korral põhjustada andmete riknemise ja isegi programmi krahhe.

Põhjus, miks ANSI ei mahu, on see, et ta kasutab iga koodipunkti tähistamiseks ainult 8 bitti. See laius on fikseeritud ja sellel on ainult kokku 256 erinevat kombinatsiooni. Võrdluseks - Unicode kasutab iga koodipunkti jaoks maksimaalselt 32 bitti; kasutatakse UTF-32 fikseeritud laiusega. Kuid kuna iga märgi jaoks nelja baiti kasutamine on niivõrd tohutu ruumi raiskamine, kasutatakse ruumi säästmiseks UTF-8 ja UTF-16 muutuva laiusega kodeeringut.

Kuna Unicode on uuem standard, eeldatakse, et vanemad opsüsteemid seda ei toeta. Ehkki UTF-8 ja ANSI koodipunktid on peaaegu identsed, ei saa vanemad opsüsteemid, nagu Windows 95, sellega töötada. Seetõttu ei saaks Unicode'i kasutavad programmid nendes opsüsteemides korralikult töötada. Vastupidiselt või ANSI-kodeeritud programmide käitamine uuemates operatsioonisüsteemides on võimalik, kuna ANSI ja Unicode vahel teisendamiseks on olemas mehhanismid. Pidage ainult meeles, et teisendus lisab natuke töötlemiskulusid. See ei pruugi tänapäeva arvuteid arvestades olla kuigi oluline, kuid programmi tõhususe parandamiseks tasub siiski arvestada.

Kokkuvõte:

1. ANSI on väga vana tähemärkide kodeering ja Unicode on praegu kasutusel olev standard
2. ANSI kasutab eri keelte jaoks erinevaid lehti, Unicode aga mitte
3. ANSI kasutab fikseeritud laiusega kodeeringut, Unicode aga nii fikseeritud kui ka muutuva laiusega kodeeringut
4. Unicode'i programmid ei tööta vanemates süsteemides
5. ANSI programmid on aeglasemad kui praegustes arvutites olevad Unicode'i programmid