Mi a különbség az ASCII és az Unicode szöveg között?

Mi a különbség az ASCII és az Unicode szöveg között?

Az ASCII és az Unicode egyaránt szabványok, amelyek a szöveg, különösen a szöveget alkotó karakterek digitális ábrázolására utalnak. A két szabvány azonban jelentősen eltér egymástól, sok tulajdonság tükrözi a megfelelő létrehozási sorrendet.





Amerika a világegyetemmel szemben

Az American Standard Code for Information Interchange (ASCII) nem meglepő módon az amerikai közönséget szolgálja, angol ábécében írva. Az ékezet nélküli betűkkel, például A-Z és a-z, valamint néhány írásjelekkel és vezérlő karakterekkel foglalkozik.





Különösen nincs mód más nyelvekből átvett kölcsönszavak ábrázolására, mint pl kávé ASCII -ben, anélkül, hogy ékezetes karakterek (pl. kávézó ). Lokalizált ASCII kiterjesztéseket fejlesztettek ki, hogy kielégítsék a különböző nyelvek igényeit, de ezek az erőfeszítések kényelmetlenné tették az interoperabilitást, és egyértelműen kiterjesztették az ASCII képességeit.





Ezzel szemben az univerzális kódolt karakterkészlet (Unicode) az ambíciós skála másik végén található. A Unicode megpróbálja a világ legtöbb írási rendszerét kiszolgálni, amennyiben kiterjed az ősi nyelvekre és mindenki kedvenc kifejező szimbólumkészletére, az emoji -ra.

Karakterkészlet vagy karakterkódolás?

Egyszerűen fogalmazva, a karakterkészlet karakterek válogatása (pl. A-Z), míg a karakterkódolás egy leképezés egy karakterkészlet és egy digitálisan ábrázolható érték között (pl. A = 1, B = 2).



Az ASCII szabvány gyakorlatilag mindkettő: meghatározza az általa képviselt karakterkészletet és az egyes karakterek számértékre való leképezésének módszerét.

Ezzel szemben az Unicode szót több különböző összefüggésben használják, hogy különböző dolgokat jelentsenek. Úgy gondolhat rá, mint egy mindent átfogó kifejezésre, mint például az ASCII, amely egy karakterkészletre és számos kódolásra utal. Mivel azonban több kódolás létezik, az Unicode kifejezést gyakran a teljes karakterkészletre utalják, nem pedig a leképezés módjára.





Méret

Hatálya miatt az Unicode sokkal több karaktert képvisel, mint az ASCII. A szabványos ASCII 7 bites tartományt használ 128 különböző kódolására karakterek . Az Unicode viszont olyan nagy, hogy más terminológiát kell használnunk, csak hogy beszéljünk róla!

A Unicode 1.111.998 címzettet biztosít kódpontok. A kódpont nagyjából analóg egy karakter számára fenntartott szóközhöz, de a helyzet ennél sokkal bonyolultabb, amikor elkezdünk elmélyedni a részletekben!





Hasznosabb összehasonlítás, hogy jelenleg hány szkriptet (vagy írási rendszert) támogat. Természetesen az ASCII csak az angol ábécét kezeli, lényegében a latin vagy római betűket. A Unicode 2020 -ban gyártott változata sokkal tovább megy: összesen 154 szkript támogatását tartalmazza.

Tárolás

Az ASCII 7 bites tartománya azt jelenti, hogy minden karakter egyetlen 8 bites bájtban van tárolva; a tartalék bit nincs használatban az ASCII szabványban. Ez egyszerűvé teszi a méretszámításokat: a szöveg hossza karakterekben a fájl mérete bájtban.

Ezt a bash parancsok következő sorrendjével erősítheti meg. Először létrehozzunk egy 12 betűs szöveget tartalmazó fájlt:

hogyan lehet megnyitni a psd fájlt Photoshop nélkül
$ echo -n 'Hello, world' > foo

Annak ellenőrzésére, hogy a szöveg ASCII kódolásban van -e, használhatjuk a fájlt parancs:

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

Végül a fájl által elfoglalt bájtok pontos számának meghatározásához használjuk a állapot parancs:

$ stat -f%z foo
12

Mivel az Unicode szabvány a karakterek sokkal nagyobb tartományával foglalkozik, az Unicode fájl természetesen több tárhelyet foglal el. Hogy pontosan mennyi, az a kódolástól függ.

Ha ugyanazt a parancskészletet ismételjük meg korábban, egy olyan karakter használatával, amely nem ábrázolható az ASCII -ben, a következőket kapjuk:

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

Ez az egyetlen karakter 3 bájtot foglal el egy Unicode fájlban. Ne feledje, hogy a bash automatikusan létrehozott egy UTF-8 fájlt, mivel az ASCII fájl nem tudja tárolni a kiválasztott karaktert (€). Az UTF-8 messze a Unicode leggyakoribb karakterkódolása; Az UTF-16 és az UTF-32 két alternatív kódolás, de sokkal kevesebbet használnak.

Az UTF-8 változó szélességű kódolás, ami azt jelenti, hogy különböző mennyiségű tárhelyet használ a különböző kódpontokhoz. Mindegyik kódpont egy és négy bájt közötti helyet foglal el, azzal a szándékkal, hogy a gyakoribb karakterek kevesebb helyet igényelnek, és egyfajta beépített tömörítést biztosítanak. Hátránya, hogy az adott szövegrész hossz- vagy méretkövetelményeinek meghatározása sokkal bonyolultabbá válik.

Az ASCII Unicode, de az Unicode nem ASCII

A visszamenőleges kompatibilitás érdekében az első 128 Unicode kódpont az egyenértékű ASCII karaktereket jelenti. Mivel az UTF-8 ezeket a karaktereket egyetlen bájttal kódolja, minden ASCII szöveg egyben UTF-8 szöveg is. A Unicode az ASCII szuperszettje.

Azonban, mint fentebb látható, sok Unicode fájl nem használható ASCII kontextusban. A határon túli karakterek váratlan módon jelennek meg, gyakran helyettesített karakterekkel, amelyek teljesen eltérnek a tervezettektől.

Modern használat

A legtöbb célra az ASCII -t nagyrészt örökölt szabványnak tekintik. Még azokban a helyzetekben is, amelyek csak a latin betűtípust támogatják-ahol például az Unicode komplexitásának teljes támogatása felesleges-, általában kényelmesebb az UTF-8 használata és az ASCII-kompatibilitás kihasználása.

mi az a korlátozott sorozat a netflixen

A weboldalakat különösen a HTML5 alapértelmezett UTF-8 használatával kell menteni és továbbítani. Ez ellentétben áll a korábbi hálózattal, amely alapértelmezés szerint az ASCII -vel foglalkozott, mielőtt a latin 1 helyébe lépett.

Változó szabvány

Az ASCII utolsó felülvizsgálatára 1986 -ban került sor.

Ezzel szemben az Unicode -t évente folyamatosan frissítik. Új szkriptek, karakterek és különösen új hangulatjelek kerülnek rendszeresen hozzáadásra. Ha ezeknek csak egy kis részét osztják ki, a teljes karakterkészlet valószínűleg növekedni és növekedni fog a belátható jövőben.

Összefüggő: A 100 legnépszerűbb hangulatjel magyarázata

ASCII és Unicode

Az ASCII hosszú évtizedekig szolgálta a célját, de az Unicode mára gyakorlatilag kiváltotta azt a gyakorlati célokra, kivéve a korábbi rendszereket. Az Unicode nagyobb és így kifejezőbb. Világszerte együttműködő erőfeszítést jelent, és sokkal nagyobb rugalmasságot kínál, bár némi bonyolultság rovására.

Részvény Részvény Csipog Email Mi az ASCII szöveg és hogyan használható?

Az ASCII szöveg titokzatosnak tűnik, de számos felhasználási területe van az interneten.

Olvassa tovább
Kapcsolódó témák
  • Technológia magyarázata
  • Hangulatjelek
  • Szakmai nyelv
  • Webkultúra
  • Unicode
A szerzőről Bobby Jack(58 cikk megjelent)

Bobby technológiai rajongó, aki két évtized nagy részében szoftverfejlesztőként dolgozott. Szenvedélyesen szereti a játékot, a Switch Player Magazin Vélemények szerkesztőjeként dolgozik, és elmerül az online közzététel és webfejlesztés minden területén.

Továbbiak Bobby Jack -től

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide