Kuo skiriasi ASCII ir Unicode tekstas?

Kuo skiriasi ASCII ir Unicode tekstas?

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





Amerika prieš Visatą

Nenuostabu, kad Amerikos standartinis informacijos mainų kodeksas (ASCII) tinka amerikiečių auditorijai, rašant anglų kalbos abėcėle. Jame naudojamos neakcentuotos raidės, tokios kaip A-Z ir a-z, taip pat nedidelis skyrybos ženklų ir valdymo simbolių skaičius.





Visų pirma, nėra galimybės pavaizduoti paskolos žodžių, priimtų iš kitų kalbų, pvz kavos ASCII, jų neanglikuojant, pakeičiant kirčiuotus simbolius (pvz., kavinė ). Lokalizuoti ASCII plėtiniai buvo sukurti atsižvelgiant į įvairių kalbų poreikius, tačiau dėl šių pastangų sąveika tapo nepatogi ir aiškiai išplėtė ASCII galimybes.





Priešingai, universalus koduojamas simbolių rinkinys (Unicode) yra priešingame siekių skalės gale. „Unicode“ bando patenkinti kuo daugiau pasaulio rašymo sistemų tiek, kiek ji apima senąsias 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 simbolių kodavimas yra simbolių rinkinio ir vertės, kurią galima pavaizduoti skaitmeniniu būdu, atvaizdavimas (pvz., A = 1, B = 2).



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

Priešingai, žodis „Unicode“ vartojamas įvairiuose kontekstuose, kad reikštų skirtingus dalykus. Galite galvoti apie tai kaip apie viską apimantį terminą, pvz., ASCII, nurodantį simbolių rinkinį ir daugybę kodavimų. Tačiau, kadangi yra keli kodavimai, terminas „Unicode“ dažnai vartojamas bendram simbolių rinkiniui apibūdinti, o ne kaip jie susieti.





Dydis

Dėl savo apimties „Unicode“ žymiai daugiau simbolių nei ASCII. Standartinis ASCII naudoja 7 bitų diapazoną, kad koduotų 128 skirtingus personažai . Kita vertus, „Unicode“ yra toks didelis, kad mums reikia naudoti skirtingą terminiją, kad tik apie tai kalbėtume!

„Unicode“ skirtas 1 111 998 adresams kodo taškai. Kodo taškas yra maždaug analogiškas veikėjui skirtai vietai, tačiau situacija yra daug sudėtingesnė nei pradėjus gilintis į detales!





Naudingiau palyginti, kiek scenarijų (ar rašymo sistemų) šiuo metu palaikoma. Žinoma, ASCII tvarko tik anglišką abėcėlę, iš esmės lotynišką ar romėnišką raidę. „Unicode“ versija, pagaminta 2020 m., Eina daug toliau: ji apima iš viso 154 scenarijų palaikymą.

Sandėliavimas

ASCII 7 bitų diapazonas reiškia, kad kiekvienas simbolis yra saugomas viename 8 bitų baite; atsarginis antgalis nenaudojamas standartiniame 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ų:

„Xbox One“ valdiklis nebus prijungtas prie kompiuterio
$ echo -n 'Hello, world' > foo

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

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

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

$ stat -f%z foo
12

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

Kartojant tą patį komandų rinkinį iš ankstesnio, naudojant simbolį, kurio negalima pavaizduoti ASCII, gaunama ši informacija:

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

Šis vienas simbolis užima 3 baitus „Unicode“ faile. Atminkite, 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 jos naudojamos kur kas reč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 įprasti simboliai reikalauja mažiau vietos ir suteikia tam tikrą integruotą glaudinimo tipą. Trūkumas yra tas, kad tam tikros teksto dalies ilgio ar dydžio reikalavimų nustatymas tampa daug sudėtingesnis.

ASCII yra Unicode, bet Unicode nėra ASCII

Siekiant suderinamumo atgal, pirmieji 128 „Unicode“ kodo taškai yra lygiaverčiai ASCII simboliai. Kadangi UTF-8 koduoja kiekvieną iš šių simbolių vienu baitu, bet koks ASCII tekstas taip pat yra UTF-8 tekstas. „Unicode“ yra ASCII viršelis.

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

Šiuolaikinis naudojimas

Daugeliu atvejų ASCII yra laikomas senuoju standartu. Net tokiose situacijose, kuriose palaikomas tik lotyniškas raštas-pavyzdžiui, kai nereikia visiškai palaikyti „Unicode“ sudėtingumo, paprastai yra patogiau naudoti UTF-8 ir pasinaudoti jo suderinamumu su ASCII.

„Nintendo“ jungiklis neprisijungia prie „wifi“

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 numatytuosius nustatymus buvo naudojamas ASCII, prieš tai pakeitus lotynų 1.

Kintantis standartas

Paskutinį kartą ASCII buvo peržiūrėtas 1986 m.

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

Susijęs: 100 populiariausių jaustukų

ASCII prieš Unicode

ASCII tarnavo savo tikslui daugelį dešimtmečių, tačiau „Unicode“ dabar jį praktiškai pakeitė visais praktiniais tikslais, išskyrus senas sistemas. „Unicode“ yra didesnis ir todėl išraiškingesnis. Tai viso pasaulio bendradarbiavimo pastangos ir siūlo daug didesnį lankstumą, nors ir tam tikro sudėtingumo sąskaita.

Dalintis Dalintis „Tweet“ Paštu Kas yra ASCII tekstas ir kaip jis naudojamas?

ASCII tekstas atrodo paslaptingas, tačiau jis gali būti daug naudojamas internete.

Skaityti toliau
Susijusios temos
  • Technologija paaiškinta
  • Emojis
  • Žargonas
  • Žiniatinklio kultūra
  • Unicode
Apie autorių Bobis Džekas(Paskelbti 58 straipsniai)

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

Daugiau iš Bobby Jack

Prenumeruokite mūsų naujienlaiškį

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

Norėdami užsiprenumeruoti, spustelėkite čia