Razlika između ANSI i UTF-8

ANSI vs UTF-8

ANSI i UTF-8 dvije su sheme kodiranja znakova koje se široko koriste u jednom ili drugom trenutku. Glavna razlika između njih je upotreba jer UTF-8 ima sve osim zamijenjene ANSI kao shemu kodiranja po izboru. UTF-8 razvijen je da stvori više ili manje ekvivalent ANSI-u, ali bez mnogih nedostataka koje je imao. I UTF-8 i ANSI proširuju se iz osnovnog niza znakova koje je iznio ASCII; pa su ta dva u osnovi jednaka kada je riječ o prvih 127 znakova.

Prvi nedostatak ANSI-a je uporaba fiksnog bajta za predstavljanje znakova. Za usporedbu, UTF-8 je fleksibilniji jer je višebajtna shema kodiranja; ovisno o potrebama korisnika, bilo gdje između 1 i 6 bajtova može se koristiti za predstavljanje znaka. Budući da ANSI koristi samo jedan bajt ili 8 bita, on može predstavljati najviše 256 znakova. To se nigdje ne nalazi u blizini 1112.064 znakova, kontrolnih kodova i rezerviranih slotova Unicode-a koji se mogu u potpunosti predstaviti unutar UTF-8. Korištenje multibajtnog shema kodiranja omogućava smještaj svih ovih kodnih točaka, a pritom uspijeva zauzeti minimalnu memoriju. Prvi bajt UTF-8 točno odgovara ASCII; stoga najčešćim likovima treba samo jedan bajt.

Kako bi se smjestilo više znakova, stvoreno je više ANSI stranica za različite jezike. Stoga ne možete koristiti određene znakove odjednom ako ne pripadaju istoj kodnoj stranici. Također zahtijeva da program unaprijed zna koja se kodna stranica koristi ili će se pojaviti pogrešni znakovi. UTF-8 nema takvih problema jer svaki znak ima svoju zasebnu kodnu točku.

UTF-8 je u svakom pogledu superioran ANSI-u. Nema razloga da odaberete ANSI preko UTF-8 u stvaranju novih aplikacija jer ih sva računala mogu dekodirati. Jedini razlog korištenja ANSI-a je kada ste prisiljeni pokrenuti staru aplikaciju za koju nemate nikakvu zamjenu.

Sažetak:

1.UTF-8 je široko korišteno kodiranje dok je ANSI zastarjela shema kodiranja
2.ANSI koristi jedan bajt dok je UTF-8 višebajtna shema kodiranja
3.UTF-8 može predstavljati širok izbor znakova dok je ANSI prilično ograničen
4.UTF-8 kodne točke su standardizirane, dok ANSI ima mnogo različitih verzija