Kakšna je razlika med besedilom ASCII in Unicode?

Kakšna je razlika med besedilom ASCII in Unicode?

ASCII in Unicode sta standarda, ki se nanašata na digitalno predstavitev besedila, zlasti znakov, ki sestavljajo besedilo. Oba standarda pa se bistveno razlikujeta, pri čemer številne lastnosti odražajo njihov vrstni red ustvarjanja.





Amerika proti vesolju

Ameriški standardni kodeks za izmenjavo informacij (ASCII), kar ni presenetljivo, ustreza ameriškemu občinstvu, ki piše v angleški abecedi. Ukvarja se z nenaglašenimi črkami, kot sta A-Z in a-z, ter majhnim številom ločilnih znakov in kontrolnih znakov.





Zlasti ni mogoče predstavljati izposojenih besed, sprejetih iz drugih jezikov, kot je npr kava v ASCII, ne da bi jih zamenjali z zamenjavo naglašenih znakov (npr. kavarna ). Lokalizirane razširitve ASCII so bile razvite za potrebe različnih jezikov, vendar so ta prizadevanja otežila interoperabilnost in očitno razširila zmogljivosti ASCII.





Nasprotno pa univerzalni niz kodiranih znakov (Unicode) leži na nasprotnem koncu lestvice ambicij. Unicode poskuša poskrbeti za čim več svetovnih pisnih sistemov, kolikor zajema starodavne jezike in vsem najljubši niz izraznih simbolov, emoji.

Niz znakov ali kodiranje znakov?

Preprosto povedano, niz znakov je izbor znakov (npr. A-Z), medtem ko je kodiranje znakov preslikava med nizom znakov in vrednostjo, ki jo je mogoče predstaviti digitalno (npr. A = 1, B = 2).



Standard ASCII je dejansko oboje: opredeljuje nabor znakov, ki jih predstavlja, in način preslikave vsakega znaka v številsko vrednost.

Nasprotno pa se beseda Unicode v več različnih kontekstih uporablja za različne stvari. Lahko si ga predstavljate kot vseobsegajoč izraz, na primer ASCII, ki se nanaša na niz znakov in številna kodiranja. Ker pa obstaja več kod, se izraz Unicode pogosto uporablja za sklicevanje na celoten niz znakov in ne na njihovo preslikavo.





Velikost

Zaradi svojega obsega Unicode predstavlja veliko več znakov kot ASCII. Standard ASCII uporablja 7-bitno območje za kodiranje 128 različnih znakov . Po drugi strani je Unicode tako velik, da moramo samo o tem govoriti z različno terminologijo!

Unicode skrbi za 1.111.998 naslovov kodne točke. Kodirana točka je približno analogna prostoru, rezerviranemu za znak, vendar je situacija veliko bolj zapletena kot tista, ko se začnete poglabljati v podrobnosti!





Bolj uporabna primerjava je, koliko skriptov (ali pisalnih sistemov) je trenutno podprtih. Seveda ASCII obravnava samo angleško abecedo, v bistvu latinsko ali rimsko pisavo. Različica Unicode, izdelana leta 2020, gre veliko dlje: vključuje podporo za skupaj 154 skriptov.

Skladiščenje

7-bitno območje ASCII pomeni, da je vsak znak shranjen v enem samem 8-bitnem bajtu; rezervni bit je neuporabljen v standardnem ASCII. Zaradi tega so izračuni velikosti nepomembni: dolžina besedila v znakih je velikost datoteke v bajtih.

To lahko potrdite z naslednjim zaporedjem ukazov bash. Najprej ustvarimo datoteko, ki vsebuje 12 črk besedila:

najboljši brezplačni video urejevalnik za iphone
$ echo -n 'Hello, world' > foo

Za preverjanje, ali je besedilo v kodiranju ASCII, lahko uporabimo datoteko mapa ukaz:

$ file foo
foo: ASCII text, with no line terminators

Nazadnje, da dobimo natančno število bajtov, ki jih datoteka zasede, uporabimo datoteko država ukaz:

$ stat -f%z foo
12

Ker standard Unicode obravnava veliko večji obseg znakov, datoteka Unicode seveda zavzame več prostora za shranjevanje. Koliko je odvisno od kodiranja.

Če ponovite isti niz ukazov od prej z uporabo znaka, ki ga ni mogoče predstaviti v ASCII, dobite naslednje:

$ echo -n '€' > foo
$ file foo
foo: UTF-8 Unicode text, with no line terminators
$ stat -f%z foo
3

Ta en sam znak zavzame 3 bajte v datoteki Unicode. Upoštevajte, da je bash samodejno ustvaril datoteko UTF-8, saj datoteka ASCII ne more shraniti izbranega znaka (€). UTF-8 je daleč najpogostejše kodiranje znakov za Unicode; UTF-16 in UTF-32 sta dve alternativni kodi, vendar se uporabljata veliko manj.

UTF-8 je kodiranje s spremenljivo širino, kar pomeni, da za različne kodne točke uporablja različne količine prostora za shranjevanje. Vsaka kodna točka bo zasedla med enim in štirimi bajti, z namenom, da pogostejši znaki zahtevajo manj prostora, kar zagotavlja vrsto vgrajenega stiskanja. Pomanjkljivost je, da je določanje zahtev glede dolžine ali velikosti določenega kosa besedila veliko bolj zapleteno.

ASCII je Unicode, vendar Unicode ni ASCII

Za nazaj združljivost prvih 128 kodnih točk Unicode predstavlja enakovredne znake ASCII. Ker UTF-8 kodira vsakega od teh znakov z enim bajtom, je tudi vsako besedilo ASCII besedilo UTF-8. Unicode je nadnabor ASCII.

Vendar, kot je prikazano zgoraj, veliko datotek Unicode ni mogoče uporabiti v kontekstu ASCII. Vsak znak, ki je zunaj meja, bo prikazan nepričakovano, pogosto z nadomeščenimi znaki, ki so popolnoma drugačni od tistih, ki so bili predvideni.

Sodobna raba

Za večino namenov ASCII v veliki meri velja za starejši standard. Tudi v situacijah, ki podpirajo le latinsko pisavo-kjer na primer ni potrebna popolna podpora kompleksnosti Unicode-je običajno bolj priročno uporabljati UTF-8 in izkoristiti njegovo združljivost z ASCII.

svojega paketa od Amazona nisem prejel

Spletne strani je treba zlasti shraniti in posredovati z uporabo UTF-8, ki je privzeta vrednost za HTML5. To je v nasprotju s prejšnjim spletom, ki je privzeto obravnaval ASCII, preden ga je nadomestila latinica 1.

Standard, ki se spreminja

Zadnja revizija ASCII je bila izvedena leta 1986.

Nasprotno pa se Unicode še naprej letno posodablja. Redno se dodajajo novi skripti, liki in zlasti novi emoji. Ker bo dodeljen le majhen del teh, bo celoten nabor znakov v bližnji prihodnosti verjetno naraščal.

Povezano: 100 najbolj priljubljenih razloženih emojijev

ASCII proti Unicode

ASCII je več desetletij služil svojemu namenu, vendar ga je Unicode zdaj učinkovito nadomestil za vse praktične namene, razen za starejše sisteme. Unicode je večji in zato bolj izrazit. Predstavlja svetovno prizadevanje za sodelovanje in ponuja veliko večjo prilagodljivost, čeprav na račun določene kompleksnosti.

Deliti Deliti Cvrkutati E-naslov Kaj je besedilo ASCII in kako se uporablja?

Besedilo ASCII se zdi skrivnostno, vendar ima veliko uporab po internetu.

Preberite Naprej
Sorodne teme
  • Pojasnjena tehnologija
  • Emoji
  • Žargon
  • Spletna kultura
  • Unicode
O avtorju Bobby Jack(58 objavljenih člankov)

Bobby je tehnološki navdušenec, ki je več kot dve desetletji delal kot razvijalec programske opreme. Navdušen je nad igranjem iger, dela kot urednik recenzij v reviji Switch Player in je potopljen v vse vidike spletnega založništva in spletnega razvoja.

Več od Bobbyja Jacka

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite