ASCII in Unicode sta standard, ki se nanašata na digitalno predstavitev besedila, zlasti na znake, ki sestavljajo besedilo. Vendar se oba standarda bistveno razlikujeta, saj številne lastnosti odražajo njihov vrstni red ustvarjanja.

Amerika proti vesolju

Ameriška standardna koda za izmenjavo informacij (ASCII) ni presenetljivo, da poskrbi za ameriško občinstvo in piše v angleški abecedi. Ukvarja se z nenaglašenimi črkami, kot sta A-Z in a-z, ter majhnim številom ločil in kontrolnih znakov.

Zlasti ni mogoče predstaviti posojilnic, sprejetih iz drugih jezikov, kot je npr kavarna v ASCII, ne da bi jih označevali z nadomestitvijo naglašenih znakov (npr. kavarna). Lokalizirane razširitve ASCII so bile razvite, da bi zadovoljile potrebe različnih jezikov, vendar so ta prizadevanja povzročila nerodno interoperabilnost in očitno razširila zmogljivosti ASCII.

Nasprotno pa univerzalni kodirani nabor znakov (Unicode) leži na nasprotnem koncu ambiciozne lestvice. Unicode poskuša poskrbeti za čim več svetovnih pisnih sistemov, do te mere, da zajema starodavne jezike in najljubši nabor izraznih simbolov, emoji.

Nabor znakov ali kodiranje znakov?

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

Standard ASCII je dejansko oboje: določa nabor znakov, ki jih predstavlja, in način preslikave vsakega znaka v številčno vrednost.

V nasprotju s tem se beseda Unicode v več različnih kontekstih uporablja za različne stvari. Lahko si ga predstavljate kot vseobsegajoč izraz, kot je ASCII, ki se nanaša na nabor znakov in številna kodiranja. Ker pa obstaja več kodiranj, se izraz Unicode pogosto uporablja za sklicevanje na celoten nabor znakov, ne pa na to, kako so preslikani.

Velikost

Zaradi obsega Unicode predstavlja veliko več znakov kot ASCII. Standardni ASCII uporablja 7-bitni obseg za kodiranje 128 različnih znakov. Po drugi strani pa je Unicode tako velik, da moramo uporabiti drugačno terminologijo, samo da bi se o njem lahko pogovarjali!

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

Uporabnejša primerjava je, koliko skriptov (ali sistemov za pisanje) 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 skupno 154 skriptov.

Skladiščenje

7-bitno območje ASCII pomeni, da je vsak znak shranjen v enem 8-bitnem bajtu; rezervni bit ni uporabljen 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:

$ echo -n 'Pozdravljen, svet'> foo

Če želite preveriti, ali je besedilo v kodiranju ASCII, lahko uporabimo mapa ukaz:

$ file foo
foo: besedilo ASCII, brez zaključkov vrstic

Na koncu, da dobimo natančno število bajtov, ki jih zaseda datoteka, uporabimo datoteko stat ukaz:

$ stat -f% z foo
12

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

Ponovitev istega nabora ukazov od prej, z uporabo znaka, ki ga ni mogoče predstaviti v ASCII, da naslednje:

$ echo -n '€'> foo
$ file foo
foo: UTF-8 besedilo Unicode, brez zaključkov vrstic
$ stat -f% z foo
3

Ta posamezni znak zaseda 3 bajte v datoteki Unicode. Upoštevajte, da je bash samodejno ustvaril datoteko UTF-8, ker 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 kodiranji, vendar se uporabljata veliko manj.

UTF-8 je kodiranje s spremenljivo širino, kar pomeni, da uporablja različne količine pomnilnika za različne kodne točke. 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 dela besedila veliko bolj zapleteno.

ASCII je Unicode, Unicode pa ni ASCII

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

Kot je prikazano zgoraj, pa veliko datotek Unicode ni mogoče uporabiti v kontekstu ASCII. Kateri koli znak, ki je zunaj meja, bo prikazan nepričakovano, pogosto z nadomeščenimi znaki, ki se popolnoma razlikujejo od predvidenih.

Sodobna uporaba

Za večino namenov ASCII v veliki meri velja za podedovani standard. Tudi v situacijah, ki podpirajo samo latinico - kjer je popolna podpora zapletenosti Unicode na primer nepotrebno - običajno je bolj priročno uporabljati UTF-8 in izkoristiti njegov ASCII kompatibilnost.

Zlasti je treba spletne strani shraniti in poslati z uporabo UTF-8, ki je privzeto za HTML5. To je v nasprotju s prejšnjim spletom, ki je privzeto obravnaval ASCII, preden ga je nadomestil Latin 1.

Standard, ki se spreminja

Zadnja revizija ASCII je bila leta 1986.

Nasprotno pa se Unicode še naprej posodablja vsako leto. Redno se dodajajo novi scenariji, znaki in zlasti novi čustveni simboli. Z le majhnim delom teh dodeljenih bo celoten nabor znakov v bližnji prihodnosti naraščal in rasel.

Sorodno: 100 najbolj priljubljenih razloženih emodžijev

100 najbolj priljubljenih razloženih emodžijev

Emodžijev je toliko, da je težko vedeti, kaj vse pomenijo. Tu so razloženi najbolj priljubljeni emojiji.

ASCII v primerjavi z Unicode

ASCII je služil svojemu namenu več desetletij, vendar ga je zdaj Unicode učinkovito nadomestil za vse praktične namene, razen za stare sisteme. Unicode je večji in s tem bolj izrazit. Predstavlja svetovno sodelovanje in ponuja veliko večjo prilagodljivost, čeprav na račun nekaj zapletenosti.

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

Besedilo ASCII se zdi skrivnostno, vendar se po internetu uporablja veliko.

Sorodne teme
  • Pojasnjena tehnologija
  • Emoji
  • Žargon
  • Spletna kultura
  • Unicode
O avtorju
Bobby Jack (23 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 mnenj pri reviji Switch Player in je poglobljen 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, preglede, brezplačne e-knjige in ekskluzivne ponudbe!

Še en korak…!

Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.

.