Forskel mellem ANSI og UTF-8 Forskellen mellem

Anonim

ANSI vs UTF-8

ANSI og UTF-8 er to tegnkodningssystemer, der anvendes bredt på et tidspunkt eller et andet. Hovedforskellen mellem dem er brug som UTF-8 har alle erstattet ANSI som det valgte kodningssystem. UTF-8 blev udviklet til at skabe en mere eller mindre ækvivalent med ANSI, men uden de mange ulemper, den havde. Både UTF-8 og ANSI udvides fra det grundlæggende sæt af tegn, der er fremført af ASCII; så de to er stort set ækvivalente, når det kommer til de første 127 tegn.

Den første ulempe ved ANSI er dens brug af en fast byte til at repræsentere tegn. Til sammenligning er UTF-8 mere fleksibel, da det er et multibyte-kodningssystem; Afhængigt af brugerens behov kan der bruges mellem 1 til 6 byte til at repræsentere et tegn. Da ANSI kun bruger en byte eller 8 bit, kan den kun repræsentere maksimalt 256 tegn. Dette er ikke i nærheden af ​​1, 112, 064 tegn, kontrolkoder og reserverede slots Unicode, der kan repræsenteres fuldt ud i UTF-8. Ved hjælp af et multibyte-kodningssystem gør det muligt at rumme alle disse kodepunkter, men klarer at forbruge minimal hukommelse. Den første byte af UTF-8 matcher ASCII præcist; Derfor behøver de mest almindelige tegn kun en enkelt byte.

For at imødekomme flere tegn blev der oprettet flere ANSI-sider til forskellige sprog. Du kan derfor ikke bruge visse tegn på én gang, hvis de ikke tilhører samme kode side. Det kræver også, at programmet på forhånd kender hvilken kodeside der bruges, eller hvis de forkerte tegn vises. UTF-8 har ikke sådanne problemer, da hver tegn har sit eget særskilte kodepunkt.

UTF-8 er overlegen på alle måder til ANSI. Der er ingen grund til at vælge ANSI over UTF-8 ved oprettelse af nye applikationer, da alle computere kan afkode det. Den eneste grund til at bruge ANSI er, når du er tvunget til at køre en gammel applikation, som du ikke har nogen erstatning for.

Sammendrag:

1. UTF-8 er en udbredt kodning, mens ANSI er et forældet kodningsskema

2. ANSI bruger en enkelt byte, mens UTF-8 er et multibyte-kodningsskema

3. UTF-8 kan repræsentere en lang række tegn, mens ANSI er ret begrænset

4. UTF-8-kodepoint er standardiseret, mens ANSI har mange forskellige versioner