ASCII ir „Unicode“ yra standartai, nurodantys skaitmeninį teksto vaizdavimą, ypač simbolius, sudarančius tekstą. Tačiau šie du standartai labai skiriasi, daugelis savybių atspindi jų atitinkamą kūrimo tvarką.

Amerika prieš Visatą

Nenuostabu, kad Amerikos standartinis informacijos mainų kodeksas (ASCII), skirtas Amerikos auditorijai, rašo anglų abėcėle. Jis susijęs su neakcentuotomis raidėmis, tokiomis kaip A-Z ir a-z, be to, nedidelis skyrybos simbolių ir valdymo ženklų skaičius.

Visų pirma, jokiu būdu negalima apibūdinti paskolų žodžių, priimtų iš kitų kalbų, pvz kavinė ASCII, nenukreipdami jų į priekį, pakeisdami kirčiuotus simbolius (pvz., kavinė). Lokalizuoti ASCII plėtiniai buvo sukurti siekiant patenkinti įvairių kalbų poreikius, tačiau šios pastangos padarė sąveiką nepatogią ir aiškiai išplėtė ASCII galimybes.

Priešingai, universalus koduotų simbolių rinkinys („Unicode“) yra priešingoje ambicijų skalės gale. „Unicode“ bando patenkinti kuo daugiau pasaulio rašymo sistemų tiek, kiek ji apima senovės kalbas ir visų mėgstamą išraiškingų simbolių rinkinį - jaustukus.

Simbolių rinkinys ar simbolių kodavimas?

Paprasčiau tariant, simbolių rinkinys yra simbolių pasirinkimas (pvz., A-Z), o simbolis kodavimas yra simbolių rinkinio ir vertės, kurią galima pateikti skaitmeniniu būdu, susiejimas (pvz., A = 1, B = 2).

ASCII standartas yra veiksmingas: jis apibrėžia simbolių rinkinį, kurį jis atstovauja, ir kiekvieno simbolio susiejimo su skaitmenine verte metodą.

Priešingai, žodis „Unicode“ yra naudojamas keliuose skirtinguose kontekstuose, reiškiančius skirtingus dalykus. Galite galvoti apie tai kaip apie viską apimantį terminą, pvz., ASCII, norėdami nurodyti simbolių rinkinį ir daugelį koduočių. Kadangi yra keli kodavimai, terminas „Unicode“ dažnai vartojamas kalbant apie bendrą simbolių rinkinį, o ne apie jų atvaizdavimą.

Dydis

Dėl savo taikymo srities „Unicode“ žymi žymiai daugiau simbolių nei ASCII. Standartinis ASCII naudoja 7 bitų diapazoną, kad užkoduotų 128 skirtingus personažai. Kita vertus, „Unicode“ yra toks didelis, kad norėdami apie tai kalbėti, turime naudoti skirtingą terminologiją!

„Unicode“ gali patenkinti 1 111 998 adresus kodo taškai. Kodo taškas yra maždaug analogiškas simboliui skirtai erdvei, tačiau situacija yra daug sudėtingesnė, nei tada, kai pradedate gilintis į detales!

Naudingesnis palyginimas yra tai, kiek scenarijų (arba rašymo sistemų) šiuo metu palaikoma. Žinoma, ASCII tvarko tik anglų abėcėlę, iš esmės lotynišką ar romėnišką raidę. 2020 m. Sukurta „Unicode“ versija eina daug toliau: ji apima iš viso 154 scenarijų palaikymą.

Sandėliavimas

ASCII 7 bitų diapazonas reiškia, kad kiekvienas simbolis saugomas viename 8 bitų baite; atsarginis antgalis nenaudojamas standartinėje ASCII. Dėl to dydžio skaičiavimai yra nereikšmingi: teksto ilgis simboliais yra failo dydis baitais.

Tai galite patvirtinti naudodami šią „bash“ komandų seką. Pirmiausia sukuriame failą, kuriame yra 12 teksto raidžių:

$ echo -n 'Sveikas, pasauli'> foo

Norėdami patikrinti, ar tekstas yra ASCII koduotėje, galime naudoti failą komanda:

$ failas foo
foo: ASCII tekstas, be eilučių terminatorių

Galiausiai, norėdami gauti tikslų failo užimamų baitų skaičių, naudojame stat komanda:

$ stat -f% z foo
12

Kadangi „Unicode“ standartas apima daug didesnį simbolių diapazoną, „Unicode“ failas natūraliai užima daugiau vietos. Kiek tiksliai priklauso nuo kodavimo.

Pakartojant tą patį komandų rinkinį iš anksčiau, naudojant simbolį, kurio negalima pateikti ASCII, gaunama:

$ echo -n '€'> foo
$ failas foo
foo: UTF-8 „Unicode“ tekstas, be eilučių terminatorių
$ stat -f% z foo
3

Šis vienas simbolis užima 3 baitus „Unicode“ faile. Atkreipkite dėmesį, kad „bash“ automatiškai sukūrė UTF-8 failą, nes ASCII faile negalima išsaugoti pasirinkto simbolio (€). UTF-8 yra labiausiai paplitęs „Unicode“ simbolių kodavimas; UTF-16 ir UTF-32 yra dvi alternatyvios koduotės, tačiau jų naudojama kur kas mažiau.

UTF-8 yra kintamo pločio kodavimas, o tai reiškia, kad jis naudoja skirtingus atminties kiekius skirtingiems kodo taškams. Kiekvienas kodo taškas užims nuo vieno iki keturių baitų, turėdamas omenyje, kad dažniau naudojamiems simboliams reikia mažiau vietos, suteikiant integruoto suspaudimo tipą. Trūkumas yra tas, kad nustatant tam tikros teksto dalies ilgio ar dydžio reikalavimus tampa daug sudėtingiau.

ASCII yra „Unicode“, bet „Unicode“ nėra „ASCII“

Siekiant suderinamumo atgal, pirmieji 128 „Unicode“ kodo taškai reiškia lygiaverčius ASCII simbolius. Kadangi UTF-8 koduoja kiekvieną iš šių simbolių vienu baitu, bet koks ASCII tekstas taip pat yra UTF-8 tekstas. „Unicode“ yra ASCII superset.

Tačiau, kaip parodyta aukščiau, daugelio „Unicode“ failų negalima naudoti ASCII kontekste. Bet koks simbolis, kuris nėra ribų, bus rodomas netikėtai, dažnai su pakeistais simboliais, kurie visiškai skiriasi nuo tų, kurie buvo skirti.

Šiuolaikinis naudojimas

Daugeliu atvejų ASCII dažniausiai laikomas paliktu standartu. Net tokiose situacijose, kurios palaiko tik lotyniškus raštus - kai yra visiškas „Unicode“ sudėtingumo palaikymas pavyzdžiui, nereikalingas - paprastai patogiau naudoti UTF-8 ir pasinaudoti jo ASCII pranašumais suderinamumas.

Visų pirma, tinklalapiai turėtų būti išsaugoti ir perduoti naudojant UTF-8, kuris yra numatytasis HTML5. Tai priešingai nei ankstesniame žiniatinklyje, kuris pagal nutylėjimą buvo nagrinėjamas ASCII, prieš tai pakeisdamas lotynų 1 kalba.

Standartas, kuris keičiasi

Paskutinė ASCII peržiūra įvyko 1986 m.

Priešingai, „Unicode“ ir toliau kasmet atnaujinamas. Reguliariai pridedami nauji scenarijai, simboliai ir ypač naujos jaustukai. Skiriant tik nedidelę jų dalį, tikėtina, kad visas simbolių rinkinys artimiausioje ateityje augs ir augs.

Susijęs: 100 paaiškintų populiariausių jaustukų

100 paaiškintų populiariausių jaustukų

Yra labai daug jaustukų, gali būti sunku žinoti, ką jie visi reiškia. Čia yra populiariausi paaiškinti jaustukai.

„ASCII“, palyginti su „Unicode“

ASCII savo tikslą vykdė daugelį dešimtmečių, tačiau „Unicode“ dabar jį veiksmingai pakeitė visiems praktiniams tikslams, išskyrus senas sistemas. „Unicode“ yra didesnis ir todėl išraiškingesnis. Tai reiškia viso pasaulio pastangas ir siūlo daug didesnį lankstumą, nors ir tam tikro sudėtingumo sąskaita.

El
Kas yra ASCII tekstas ir kaip jis naudojamas?

ASCII tekstas atrodo paslaptingas, tačiau jį internete galima naudoti daug.

Susijusios temos
  • Paaiškinta technologija
  • Jaustukai
  • Žargonas
  • Žiniatinklio kultūra
  • „Unicode“
Apie autorių
Bobis Džekas (Paskelbta 23 straipsniai)

Bobis yra technologijų entuziastas, kuris beveik du dešimtmečius dirbo programinės įrangos kūrėju. Jis aistringai žaidžia, dirba „Review Player“ žurnalo apžvalgų redaktoriumi ir yra pasinėręs į visus internetinės leidybos ir interneto kūrimo aspektus.

Daugiau iš Bobby Jacko

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Dar vienas žingsnis…!

Prašome patvirtinti savo el. Pašto adresą el. Laiške, kurį jums ką tik išsiuntėme.

.