Unicode kódolás 2. A Unicode létrehozásának és fejlesztésének előfeltételei

Sziasztok, a blogoldal kedves olvasói. Ma arról fogunk beszélni, hogy honnan származik a krakozyabry a webhelyen és a programokban, milyen szövegkódolások léteznek, és melyeket kell használni. Vessünk egy pillantást a fejlesztésük történetére, kezdve az alap ASCII-től, valamint annak kiterjesztett változataitól a CP866, KOI8-R, Windows 1251-től, és a Unicode Consortium UTF 16 és 8 modern kódolásaiig.

Egyesek számára ez az információ feleslegesnek tűnhet, de tudni fogja, hány kérdést kapok konkrétan a kimászott krakozyabrs (olvashatatlan karakterkészlet) kapcsán. Most lehetőségem lesz mindenkinek e cikk szövegére hivatkozni, és önállóan megkeresni a jambjaimat. Nos, készülj fel az információ befogadására, és próbáld követni a történet menetét.

ASCII - alapszöveg kódolás latinul

A szövegkódolások fejlődése az informatikai ipar kialakulásával egy időben zajlott, és ez idő alatt meglehetősen sok változáson mentek keresztül. Történelmileg minden az EBCDIC-vel kezdődött, ami meglehetősen disszonáns volt az orosz kiejtésben, ami lehetővé tette a latin ábécé betűinek, az arab számoknak és az írásjeleknek a vezérlőkarakterekkel történő kódolását.

De mégis, a modern szövegkódolások fejlesztésének kiindulópontja a híres ASCII(Amerikai szabványos információcsere kód, amelyet oroszul általában "aski"-nak ejtenek). Az angolul beszélő felhasználók által leggyakrabban használt karakterek első 128 karakterét írja le – latin betűket, arab számokat és írásjeleket.

Még ebben az ASCII-ben leírt 128 karakterben is volt néhány szervizkarakter, például zárójelek, sávok, csillagok stb. Valójában Ön is láthatja őket:

Ez a 128 karakter az ASCII eredeti verziójából vált szabványossá, és minden más kódolásban biztosan találkozni fog velük, és ebben a sorrendben fognak állni.

De tény, hogy egy bájt információ segítségével nem 128, hanem akár 256 különböző értéket lehet kódolni (kettő nyolc hatványa 256), ezért alap verzió Asuka megjelent egy szám kiterjesztett ASCII kódolás, amelyben 128 alapkarakter mellett a nemzeti kódolás szimbólumait is lehetett kódolni (például orosz).

Itt valószínűleg érdemes egy kicsit többet mondani a leírásban használt számrendszerekről. Először is, mint mindenki tudja, a számítógép csak kettes rendszerben működik számokkal, nevezetesen nullákkal és egyesekkel ("Boole-algebra", ha valaki intézetben vagy iskolában tanult). , amelyek mindegyike nullától kezdődően kettő, a hetedikben pedig kettő:

Nem nehéz megérteni, hogy egy ilyen konstrukcióban a nullák és egyesek összes lehetséges kombinációja közül csak 256 lehet. kettes számrendszer a tizedesjegy pontosítása meglehetősen egyszerű. Csak össze kell adnia kettő hatványát, amely felett egy van.

Példánkban ez 1 (2 a nulla hatványához) plusz 8 (kettő a 3 hatványához), plusz 32 (kettő az ötödikhez), plusz 64 (a hatodikhoz), plusz 128 (a hetedikhez) . Összesen 233 hüvelyk lesz decimális rendszer leszámolás. Amint látja, minden nagyon egyszerű.

De ha közelebbről megnézi az ASCII karaktereket tartalmazó táblázatot, látni fogja, hogy ezek hexadecimális kódolásban vannak ábrázolva. Például a "csillag" Asci nyelvben a 2A hexadecimális számnak felel meg. Ezt valószínűleg tudod hexadecimális rendszer számokat használnak, az arab számok mellett latin betűket is használnak A-tól (tízet jelent) F-ig (tizenöt).

Hát azért konvertálja a binárist hexadecimálissá az alábbi egyszerű és vizuális módszert használja. Az információ minden bájtja két, négy bites részre van osztva, amint az a fenti képernyőképen látható. Hogy. minden fél bájtban csak tizenhat érték kódolható bináris kódba (kettőtől a negyedik hatványig), amely könnyen ábrázolható hexadecimális számként.

Ezenkívül a bájt bal felében újra meg kell számolni a fokokat nullától kezdve, és nem a képernyőképen látható módon. Ennek eredményeként egyszerű számításokkal azt kapjuk, hogy a képernyőképen az E9 szám van kódolva. Remélem, hogy az érvelésem menete és ennek a rejtvénynek a megoldása egyértelműnek bizonyult számodra. Nos, most folytassuk a szövegkódolásokról való beszélést.

Asuka - CP866 és KOI8-R kódolások kiterjesztett változatai pszeudográfiai adatokkal

Tehát elkezdtünk beszélni az ASCII-ről, amely mintegy kiindulópontja volt az összes modern kódolás fejlesztésének (Windows 1251, Unicode, UTF 8).

Kezdetben csak 128 latin ábécé karaktert, arab számokat és még valami mást tartalmazott, de a kiterjesztett változatban lehetővé vált mind a 256 érték használata, amelyek egy bájtba kódolhatók. Azok. lehetővé vált az Ön nyelvének betűinek karakterei hozzáadása az Asci-hoz.

Itt még egyszer el kell térnünk, hogy megmagyarázzuk - Egyáltalán miért van szükség kódolásra? szövegeket, és miért olyan fontos ez. A számítógép képernyőjén megjelenő karakterek két dolog alapján jönnek létre: mindenféle karakter vektor alakzatainak készletei (ábrázolásai) (a társfájlokban vannak), és egy kód, amely lehetővé teszi, hogy kihúzzon ebből a vektor alakzatkészletből ( font fájl) pontosan azt a karaktert, amelyet be kell szúrnia a megfelelő helyre.

Nyilvánvaló, hogy a fontok maguk a vektoros formákért felelősek, de a kódolásért az operációs rendszer és a benne használt programok. Azok. a számítógépén lévő bármely szöveg bájtok halmaza lesz, amelyek mindegyike ennek a szövegnek egyetlen karakterét kódolja.

Az a program, amely ezt a szöveget megjeleníti a képernyőn (szövegszerkesztő, böngésző stb.), a kód elemzésekor beolvassa a következő karakter kódolását, és megkeresi a megfelelő vektorformát kívánt fájlt a szöveges dokumentum megjelenítéséhez csatlakoztatott betűtípus. Minden egyszerű és banális.

Ez azt jelenti, hogy bármely szükséges karakter kódolásához (például a nemzeti ábécéből) két feltételnek kell teljesülnie - a karakter vektoros formájának a használt betűtípusban kell lennie, és ezt a karaktert kiterjesztett ASCII kódolásban lehet kódolni. egy bájtban. Ezért van egy csomó ilyen lehetőség. Csak az orosz nyelv karaktereinek kódolásához létezik a kiterjesztett Aska többféle változata.

Például kezdetben volt CP866, amelyben az orosz ábécé karaktereit lehetett használni, és az ASCII kiterjesztett változata volt.

Azok. a felső része teljesen egybeesett az Asuka alapverziójával (128 latin karakter, számok és egyéb baromságok), ami a fenti képernyőképen látható, de a táblázat alsó része CP866 kódolással az alatta lévő képernyőképen látható. és további 128 jel kódolását engedélyezték (orosz betűk és mindenféle pszeudográfia):

Látod, a jobb oldali oszlopban a számok 8-cal kezdődnek, mert A 0 és 7 közötti számok az ASCII alaprészre utalnak (lásd az első képernyőképet). Hogy. az orosz "M" betű a CP866-ban a 9C kódot tartalmazza (a megfelelő sor 9-el és a hexadecimális számrendszerben a C számmal rendelkező oszlop metszéspontjában található), amely egy információbájtba írható, és ha van megfelelő betűtípus orosz karakterekkel, akkor ez a betű probléma nélkül megjelenik a szövegben.

Honnan jött ez az összeg? pszeudográfia a CP866-ban? A helyzet az, hogy az orosz szöveg kódolását még azokban a szőrös években fejlesztették ki, amikor még nem volt olyan grafikus operációs rendszerek elosztása, mint most. A Dosában és a hasonló szöveges operációs rendszerekben pedig a pszeudografika lehetővé tette a szövegek kialakításának valamilyen változatosságát, ezért bővelkedik a CP866-ban és az Asuka kiterjesztett verzióinak kategóriájából az összes többi társában.

A CP866-ot az IBM terjesztette, de ezen kívül számos kódolást fejlesztettek ki az orosz karakterekhez, például ugyanazt a típust (bővített ASCII) lehet hozzárendelni. KOI8-R:

Működési elve ugyanaz marad, mint a kicsit korábban ismertetett CP866-é - a szöveg minden karakterét egyetlen bájt kódolja. A képernyőképen a KOI8-R táblázat második fele látható, mert az első fele teljesen megfelel az alap Asukának, amely a cikk első képernyőképen látható.

A KOI8-R kódolás jellemzői közül megjegyezhető, hogy a táblázatában az orosz betűk nincsenek ábécé sorrendben, mint például a CP866-ban.

Ha megnézi a legelső képernyőképet (az alaprészről, amely minden kiterjesztett kódolásban megtalálható), észre fogja venni, hogy a KOI8-R-ben az orosz betűk a táblázat ugyanazon celláiban találhatók, mint a latin ábécé mássalhangzójának betűi. velük a táblázat első részéből. Ez azért történt, hogy megkönnyítsék az oroszról a latin karakterekre való átállást úgy, hogy csak egy bitet hagytak el (kettőt a hetedik hatványhoz vagy 128-hoz).

Windows 1251 - az ASCII modern verziója, és miért mászik ki a krakozyabry

A szövegkódolások további fejlődése annak volt köszönhető, hogy a grafikus operációs rendszerek egyre népszerűbbek, és idővel megszűnt az ál- és pszeudográfia használatának igénye. Ennek eredményeként egy egész csoport jött létre, amelyek lényegében még mindig az Asuka kiterjesztett változatai voltak (egy szövegkarakter mindössze egy bájt információval van kódolva), de pszeudográfiai karakterek használata nélkül.

Az úgynevezett ANSI kódolásokhoz tartoztak, amelyeket az American Standards Institute fejlesztett ki. A köznyelvben a cirill nevet is használták az orosz nyelvet támogató változatra. Erre szolgálhat egy példa.

Kedvezően hasonlít a korábban használt CP866-hoz és KOI8-R-hez, mivel az álszimbólumok helyét benne az orosz tipográfia hiányzó szimbólumai (az ékezetes jeltől eltekintve), valamint a szláv nyelvekben használt szimbólumok foglalták el. orosz (ukrán, fehérorosz stb.):

Az orosz nyelvű kódolások ilyen bősége miatt a betűtípus-gyártók és -gyártók szoftverállandóan fájt a fejünk, és mi, kedves olvasók, gyakran kaptuk el ezeket a hírhedt krakozyabry amikor zavar támadt a szövegben használt változattal.

Nagyon gyakran kiszálltak, amikor üzeneteket küldtek és fogadtak email, ami nagyon összetett konverziós táblák létrehozásához vezetett, amelyek valójában nem tudták alapvetően megoldani ezt a problémát, és gyakran a felhasználók levelezésre használtak, hogy elkerüljék a hírhedt krakozyabrs-okat, amikor olyan orosz kódolásokat használnak, mint a CP866, KOI8-R vagy a Windows 1251.

Valójában az orosz szöveg helyett kimászó krakozyabry lett az eredmény helytelen használat kódolások adott nyelv, amely nem egyezik azzal, amelybe kódolva volt szöveges üzenet alapvetően.

Tegyük fel, ha a CP866-tal kódolt karakterek a segítségével próbálják megjeleníteni kódtábla Windows 1251, akkor ugyanezek a krakozyabry (értelmetlen karakterkészlet) jönnek ki, teljesen lecserélve az üzenet szövegét.

Hasonló helyzet nagyon gyakran előfordul fórumokkal vagy blogokkal, amikor az orosz karaktereket tartalmazó szöveget tévedésből a webhelyen alapértelmezetten használt rossz kódolásban vagy rossz kódolásban mentik. szöveg szerkesztő, amely szabad szemmel nem látható geg-et ad a kódhoz.

Végül sok ember belefáradt egy ilyen helyzetbe, a sok kódolás és a folyamatos krakozyabry miatt, megvoltak az előfeltételei egy új univerzális variáció létrehozásának, amely az összes létezőt helyettesíti, és végül megoldja a problémát az olvashatatlan szövegek megjelenésével. . Ezenkívül probléma volt az olyan nyelvekkel, mint a kínai, ahol a nyelv karakterei jóval többek voltak, mint 256.

Unicode (Unicode) - univerzális UTF 8, 16 és 32 kódolás

A délkelet-ázsiai nyelvcsoportnak ezt a több ezer karakterét semmilyen módon nem lehetett leírni egyetlen bájtnyi információval, amelyet az ASCII kiterjesztett verzióiban a karakterek kódolására osztottak ki. Ennek eredményeként egy konzorcium ún Unicode(Unicode - Unicode Consortium) számos IT iparági vezető (szoftvert gyártók, hardvert kódolók, fontokat készítők) együttműködésével, akik az univerzális szövegkódolás megjelenésében érdekeltek.

Az Unicode Consortium égisze alatt megjelent első variáció az volt UTF-32. A kódolás nevében szereplő szám az egy karakter kódolásához használt bitek számát jelenti. A 32 bit 4 bájtnyi információ, amelyre egyetlen karakter kódolásához lesz szükség az új univerzális kódolású UTF-ben.

Ennek eredményeként ugyanaz a szöveges fájl, amely az ASCII kiterjesztett verziójában és az UTF-32-ben van kódolva, utóbbi esetben négyszer nagyobb lesz. Ez rossz, de most lehetőségünk van UTF-fel kódolni kettőnek megfelelő karakterszámot a harminc másodperces hatványhoz ( több milliárd karakter, amely minden igazán szükséges értéket hatalmas árréssel fedez).

De sok európai nyelvű országnak egyáltalán nem kellett ilyen nagy számú karaktert használnia a kódolásban, azonban az UTF-32 használatakor négyszeres súlynövekedést kaptak a semmiért. szöveges dokumentumokat, és ennek eredményeként nőtt az internetes forgalom és a tárolt adatok mennyisége. Ez nagyon sok, és ekkora pazarlást senki sem engedhet meg magának.

Az Unicode fejlesztésének eredményeként UTF-16, amely annyira sikeresnek bizonyult, hogy az általunk használt összes karakter alapértelmezett alapterületeként elfogadták. Két bájtot használ egy karakter kódolásához. Lássuk, hogy néz ki ez a dolog.

NÁL NÉL operációs rendszer Windows, akkor a "Start" - "Programok" - "Kiegészítők" - "Segédprogramok" - "Karaktertábla" útvonalon haladhat. Ennek eredményeként megnyílik egy táblázat, amely a rendszerbe telepített összes betűtípus vektor alakját tartalmazza. Ha a " További beállítások» Unicode karakterkészlet, minden betűtípushoz külön-külön megtekintheti a benne szereplő karakterek teljes tartományát.

Egyébként bármelyikre kattintva megtekintheti annak dupla bájtját kód UTF-16 formátumban, amely négy hexadecimális számjegyből áll:

Hány karakter kódolható UTF-16-ban 16 bittel? 65536 (kettő tizenhat hatványig), és ezt a számot fogadták el alapterületként a Unicode-ban. Ezen túlmenően, vannak módok körülbelül kétmillió karakter kódolására, de legfeljebb egymillió karakternyi szövegterületre korlátozva.

De még a Unicode kódolásnak ez a sikeres verziója sem okozott túl nagy megelégedést azoknak, akik mondjuk programokat írtak csak angol nyelv, mert miután az ASCII kiterjesztett verziójáról UTF-16-ra váltottak, a dokumentumok súlya megduplázódott (Asci esetén egy bájt karakterenként, UTF-16 esetén pedig ugyanazon karakterenként két bájt).

Ennyi az Unicode konzorciumban lévők és mindenki megelégedésére, úgy döntöttünk, hogy változó hosszúságú kódolás. UTF-8-nak hívják. A névben szereplő nyolc ellenére tényleg változó hosszúságú, pl. minden szövegkarakter egy-hat bájtos sorozatba kódolható.

A gyakorlatban az UTF-8-ban csak az egytől négy bájtig terjedő tartományt használják, mivel négy bájt kód mögött még csak elméletileg sem képzelhető el semmi. Az összes latin karakter egy bájtba van kódolva, mint a jó öreg ASCII-ben.

Figyelemre méltó, hogy csak latin kódolás esetén még azok a programok is olvassák az UTF-8 kódolást, amelyek nem értik a Unicode-ot. Azok. az Asuka alaprésze egyszerűen átment az Unicode Konzorcium ebbe az ötletébe.

Az UTF-8 cirill karakterei két bájtban vannak kódolva, a grúz karakterek pedig három bájtban vannak kódolva. Az Unicode Konzorcium az UTF 16 és 8 létrehozása után megoldotta a fő problémát – most a betűtípusoknak egyetlen kódterük van. A gyártóik pedig már csak a szöveges karakterek vektoros formáival tudják feltölteni erősségeik és képességeik alapján. Most akár szettben is.

A fenti „Karaktertáblázatban” láthatja, hogy a különböző betűtípusok eltérő számú karaktert támogatnak. Egyes Unicode-ban gazdag betűtípusok nagyon nagyok lehetnek. De most nem abban különböznek egymástól, hogy különböző kódolásokhoz hozták létre, hanem abban, hogy a betűtípus gyártója kitöltötte vagy nem töltötte ki az egyetlen kódteret egyik vagy másik vektoros formával a végéig.

Krakozyabry orosz betűk helyett - hogyan javítható

Lássuk most, hogyan jelennek meg a krakozyabrák a szöveg helyett, vagy más szóval, hogyan választják ki a megfelelő kódolást az orosz szöveghez. Valójában abban a programban van beállítva, amelyben létrehozza vagy szerkeszti ugyanazt a szöveget, vagy szövegrészleteket használó kódot.

Szerkesztéshez és létrehozáshoz szöveges fájlokÉn személy szerint egy nagyon jót használok, szerintem. Azonban még jó száz programozási és jelölőnyelv szintaxisát képes kiemelni, emellett bővíthető bővítményekkel is. Olvas részletes áttekintést ezt a csodálatos programot a megadott linken.

A Notepad ++ felső menüjében található a "Kódolások" elem, ahol lehetősége lesz egy meglévő opciót a webhelyén alapértelmezés szerint használtra konvertálni:

Joomla 1.5 és újabb verziójú webhely, valamint WordPress-es blog esetén a hibák megjelenésének elkerülése érdekében válassza a lehetőséget UTF8 anyagjegyzék nélkül. Mi az a BOM előtag?

A helyzet az, hogy amikor kifejlesztették az UTF-16 kódolást, valamilyen oknál fogva úgy döntöttek, hogy hozzácsatolnak egy olyan dolgot, mint a karakterkód írásának képessége, mind közvetlen sorrendben (például 0A15), mind fordítottan (150A) . És azért találták ki, hogy a programok megértsék, milyen sorrendben kell olvasni a kódokat BOM(Byte Order Mark vagy más szóval aláírás), amely három további bájt hozzáadásával fejeződött ki a dokumentumok legelejéhez.

Az UTF-8 kódolásban a Unicode konzorcium nem tartalmazta a BOM-ot, ezért egy aláírás hozzáadása (ez a leghírhedtebb további három bájt a dokumentum elejéhez) egyszerűen megakadályozza, hogy egyes programok beolvassák a kódot. Ezért a fájlok UTF-ben történő mentésekor mindig a BOM nélküli (aláírás nélküli) opciót kell választanunk. Tehát előrelépsz védje meg magát a mászkálástól krakozyabry.

Figyelemre méltó, hogy a Windows egyes programjai nem tudják, hogyan kell ezt megtenni (nem tudnak UTF-8-ban szöveget menteni BOM nélkül), például ugyanaz a hírhedt Windows Jegyzettömb. UTF-8 formátumban menti a dokumentumot, de az aláírást (három extra bájt) továbbra is hozzáadja az elejéhez. Sőt, ezek a bájtok mindig ugyanazok lesznek - olvassa el a kódot közvetlen sorrendben. De a szervereken ebből az apróságból probléma adódhat - kijön a krakozyabry.

Ezért semmiképpen ne használjon szokásos Windows jegyzettömböt a webhely dokumentumainak szerkesztéséhez, ha nem szeretné Krakozyabrov megjelenését. A már említett Notepad ++ szerkesztőt tartom a legjobb és legegyszerűbb lehetőségnek, aminek gyakorlatilag nincs hátránya, és csak előnyökből áll.

A Notepad++ programban, amikor kiválaszt egy kódolást, lehetősége lesz szöveget UCS-2 kódolássá konvertálni, ami eleve nagyon közel áll a Unicode szabványhoz. A Jegyzettömbben is lehet majd ANSI-ban szöveget kódolni, pl. az orosz nyelv kapcsán ez a Windows 1251 lesz, amit kicsit fentebb már leírtunk.Honnan jön ez az információ?

Regisztrálva van a műtőjének nyilvántartásában Windows rendszerek- melyik kódolást válasszuk ANSI esetén, melyiket OEM esetén (orosz nyelven CP866 lesz). Ha másik alapértelmezett nyelvet telepít a számítógépére, akkor ezek a kódolások lecserélődnek az ANSI vagy az OEM kategória hasonló kódolásaira, ugyanazon nyelven.

Miután elmentette a dokumentumot a Jegyzettömb ++-ba a kívánt kódolásban, vagy megnyitotta a dokumentumot a webhelyről szerkesztésre, a szerkesztő jobb alsó sarkában láthatja a nevét:

Krakozyabrov elkerülése érdekében, a fent leírt műveletek mellett hasznos lesz a kódolásról információkat írni a webhely összes oldalának forráskódjának fejlécébe, hogy ne legyen zavar a szerveren vagy a helyi gazdagépen.

Általánosságban elmondható, hogy a HTML kivételével minden hiperszöveg jelölőnyelven speciális xml deklarációt használnak, amely meghatározza a szöveg kódolását.

A kód elemzése előtt a böngésző tudja, hogy melyik verziót használja, és pontosan hogyan kell értelmezni az adott nyelv karakterkódjait. De ami figyelemre méltó, ha a dokumentumot az alapértelmezett unicode-ba menti, akkor ez az xml deklaráció elhagyható (a kódolás UTF-8-nak számít, ha nincs BOM, vagy UTF-16-nak, ha van BOM).

Dokumentum esetén Html nyelv kódolás megadására szolgál Meta elem, amely a nyitó és záró Head címke közé van írva:

... ...

Ez a szócikk merőben eltér a ben elfogadotttól, de teljes mértékben összhangban van a lassan bevezetésre kerülő új Html 5 szabvánnyal, és teljesen helyesen fogja érteni mindenki, aki használja. Ebben a pillanatban böngészők.

Elméletileg a Meta elem a kódolással html dokumentum jobb lenne feltenni a lehető legmagasabbra a dokumentum fejlécében hogy a találkozás időpontjában az első karakter szövegében nem az alap ANSI-ból (ami mindig helyesen és bármilyen változatban lesz olvasható) a böngészőnek már rendelkeznie kell információval arról, hogyan értelmezze ezen karakterek kódjait.

Sok szerencsét! Hamarosan találkozunk a blogoldalak oldalán

Lehet, hogy érdekel

Mit URL-cím Mi a különbség a webhely abszolút és relatív hivatkozásai között?
OpenServer - modern helyi szerverés egy példa a használatára WordPress telepítések számítógépen
Mi az a Chmod, milyen engedélyeket kell hozzárendelni a fájlokhoz és mappákhoz (777, 755, 666), és hogyan kell ezt megtenni PHP-n keresztül
Yandex keresés a webhelyen és az online áruházban

Az internet bizonyos funkcióinak konfigurálására tett kísérlet során minden felhasználónak találkoznia kellett egy olyan fogalommal, mint az "Unicode". Ha meg szeretné tudni, mit jelent ez a fogalom, olvassa el ez a cikk befejezni.

"Unicode": definíció

Az "Unicode" kifejezés ma egy karakterkódolási szabványra utal. Ez a szabvány Az Unicode Inc. non-profit szervezet javasolta 1991-ben. Az Unicode szabványt arra tervezték, hogy nagyszámú különböző karaktert kombináljon egy dokumentumban. Egy ilyen kódolás alapján létrehozott oldal tartalmazhat hieroglifákat, betűket és matematikai szimbólumokat. Ebben a kódolásban minden karakter probléma nélkül megjelenik.

"Unicode": a létrehozás okai

Jóval az Unicode rendszer megjelenése előtt a kódolást a dokumentum szerzőjének preferenciái alapján választották ki. Gyakran emiatt egy dokumentum elolvasásához különböző táblázatokat kellett használni. Ezt azonban többször is meg kellett tenni. Ez jelentősen megnehezíti a hétköznapi felhasználók életét. Mint korábban említettük, 1991-ben ennek a problémának a megoldására az Unicode Inc. non-profit szervezet. új típusú információs kódolás alkalmazását javasolta. Ez a típus A kódolást a szabványok széles skálájának kombinálására hozták létre. A Unicode kódolás lehetővé tette a lehetetlen elérését: egy olyan eszköz létrehozását, amely sokféle karaktert támogat. Az eredmény felülmúlta a várakozásokat: olyan dokumentumok születtek, amelyek egyszerre tartalmazhatnak orosz és angol szöveget, valamint matematikai kifejezéseket és latint. A teremtés előtt egységes rendszer a kódoló fejlesztőknek számos olyan problémát kellett megoldaniuk, amelyek a már létező szabványok nagyszámú létezéséből adódnak. Ebben a pillanatban. A leggyakoribb ilyen problémák a karakterkészlet-korlátozások, az elf szkriptek, a betűtípus-duplikáció és a különböző kódolások konvertálásának problémája voltak.

"Unicode": kitérő a történelembe

Képzeljük el a következő képet: a 80-as évek udvarán a számítástechnika még nem terjedt el ennyire, és más megjelenésű, mint a mai. Minden operációs rendszer egyedi a maga módján, és a rajongók módosítják bizonyos speciális igényeknek megfelelően. Ennek eredményeként az információcsere szükségessége további fejlesztésekhez vezetett. Amikor egy másik operációs rendszerben készült dokumentumot próbáltak olvasni, általában furcsa karakterkészletek jelentek meg a képernyőn. Ez további munkát igényelt a kódolással, amit nem mindig lehetett gyorsan befejezni. Néha több hónapig is eltartott a szükséges dokumentum feldolgozása. Azok a felhasználók, akiknek gyakran kell információt cserélniük, speciális konverziós táblákat kezdtek létrehozni maguknak. Az ilyen táblázatokkal való munka során egy érdekesség derült ki: ilyen táblázatokat egyidejűleg két irányban kell létrehozni. A gép nem tudja végrehajtani a számítások banális megfordítását. Ehhez a jobb oldali oszlopba a forrásfájlt, a bal oldaliba pedig az eredményt írjuk. Ellenkezőleg, nem rendezhetők át. Ha speciális karaktereket kell használnia a dokumentumban, először hozzá kell adnia őket, majd el kell magyaráznia egy másik felhasználónak, hogy mit kell tenni velük, hogy ne váljanak „repedésekké”. Azt is érdemes figyelembe venni, hogy minden kódolásnak saját betűtípust kellett kifejlesztenie. Ez hatalmas számú ismétlődés létrehozásához vezetett az operációs rendszerben. Így például egy oldalon a felhasználó egy tucat betűtípust láthatott, amelyek megegyeznek a szabványos Times New Roman betűtípusokkal, de UCS-2, UTF-16, UTF-8, ANSI jelzéssel. Ezért szükség van egy univerzális szabvány kidolgozására.

"Unicode": alkotók

Az "Unicode" létrehozásának történetének kezdete 1987-hez köthető. Ekkor kezdett el kutatásokat végezni egy univerzális kódolás gyakorlati kifejlesztésével kapcsolatban Joe Becker, a Xeroxtól, Mark Davis-szel és Lee Collinsszal az Apple-től. 1988-ban Joe Becker kiadott egy nemzetközi többnyelvű kódolás tervezetét. Néhány hónappal később a működő Unicode fejlesztői csoport kibővült. Olyan szakértők voltak benne, mint Glenn Wright a Sun Microsystemstől, Mike Kernegan és Ken Whistler az RLG-től. Ez lehetővé tette az egységes kódolási szabvány előzetes kialakításának befejezését.

"Unicode": általános leírás

Az Unicode alapja általános fogalom szimbólum. Ez a meghatározás egy absztrakt jelenségként értelmezhető, amely írás formájában létezik, és grafémákon keresztül valósul meg. A Unicode-ban minden karakterhez egyedi kód tartozik, amely a szabvány egyik vagy másik blokkjához tartozik. Így például a "B" graféma angolul és oroszul is jelen van, de két különböző karakternek felel meg. Ezek a karakterek kisbetűssé is alakíthatók. Ez azt jelenti, hogy ezeket a szimbólumokat egy kulcs, egy tulajdonságkészlet és egy név írja le.

"Unicode": előnyei

A Unicode abban különbözik a többi modern kódolási rendszertől, hogy hatalmas karakterkészlettel rendelkezik a különféle karakterek "titkosításához". A helyzet az, hogy a korábbi kódolások csak 8 bitesek voltak. Ez azt jelenti, hogy csak 28 karaktert támogatnak. Az új fejlesztés 216 karakterből állt, ami nagy előrelépés volt. Így lehetővé vált szinte az összes létező ábécé kódolása. A konverziós táblák használatának szükségessége az „Unicode” megjelenésével megszűnt. Egyetlen szabvány létezése egyszerűen nullára csökkentette a hasznosságukat. Ezzel egy időben a "kryakozyabry" is eltűnt. Egy új szabvány megjelenése lehetetlenné tette létezésüket. Megszűnt a duplikált betűtípusok létrehozásának szükségessége is.

"Unicode": fejlesztés

Annak ellenére, hogy a fejlődés nem áll meg, az Unicode kódolás továbbra is vezető szerepet tölt be a világon. Ez nagyrészt annak köszönhető, hogy könnyen megvalósíthatóvá és széles körben elterjedtté vált. Nem szabad azonban azt feltételezni, hogy ma ugyanazt a Unicode kódolást használják, mint 25 évvel ezelőtt. Ma az 5.x.x verziót használják. A kódolt karakterek száma 231-re nőtt. A kezdetektől a 2.0.0-ás verzió megjelenéséig a Unicode kódolás csaknem megkétszerezte a benne szereplő karakterek számát. A következő években a lehetőségek bővülése folytatódott. A 4.0.0 verzió megjelenéséig szükségessé vált magának a szabványnak a növelése. Ennek eredményeként a Unicode kódolás olyan formát öltött, amelyben ma ismerjük.

Mi más hasznos az Unicode-ban? A hatalmas, folyamatosan növekvő karakterszám mellett a Unicode kódolásnak van egy igen hasznos tulajdonsága is. Ez a normalizálás. A kódolás nem pazarolja a számítógép erőforrásait ugyanazon karakterek rendszeres ellenőrzésére, amelyeknek a helyesírása különböző ábécékben hasonló lehet. Erre a célra egy speciális algoritmust használnak, amely lehetővé teszi a hasonló karakterek külön-külön kiemelését egy oszlopban, és azokhoz való hozzáférést, ahelyett, hogy minden alkalommal ellenőriznénk az összes információt. Összesen négy ilyen algoritmust fejlesztettek ki és valósítottak meg. Az átalakítás mindegyikben egy bizonyos elv szerint történik, amely különbözik a többitől.

Minden internetfelhasználó, amikor megpróbálta konfigurálni egyik vagy másik funkcióját, legalább egyszer látta az "Unicode" feliratot a kijelzőn. Mi ez, megtudhatja, ha elolvassa ezt a cikket.

Meghatározás

A Unicode egy karakterkódolási szabvány. Ezt a Unicode Inc. non-profit szervezet javasolta. 1991-ben. A szabványt azzal a céllal dolgozták ki, hogy a lehető legtöbb különböző karaktertípust egyesítsék egy dokumentumban. Az ennek alapján létrehozott oldal különböző nyelvű betűket és hieroglifákat (orosztól koreaiig) és matematikai szimbólumokat tartalmazhat. Ebben az esetben az összes karakter ebben a kódolásban probléma nélkül megjelenik.

A teremtés okai

Egyszer régen, jóval az egységes Unicode rendszer megjelenése előtt, a kódolást a dokumentum szerzőjének preferenciái alapján választották ki. Emiatt nem volt ritka, hogy egyetlen dokumentumot olvassunk el a használatával különböző táblázatok. Néha ezt többször is meg kellett tenni, ami jelentősen megnehezítette egy hétköznapi felhasználó életét. Mint már említettük, a probléma megoldását 1991-ben javasolta a Unicode Inc. non-profit szervezet, amely egy új típusú karakterkódolást javasolt. Célja az elavult és sokrétű szabványok egyesítése volt. Az "Unicode" egy olyan kódolás, amely lehetővé tette az akkoriban elképzelhetetlen elérését: egy olyan eszköz létrehozását, amely hatalmas számú karaktert támogat. Az eredmény sok várakozást felülmúlt – megjelentek olyan dokumentumok, amelyek egyszerre tartalmaztak angol és orosz szöveget, latin és matematikai kifejezéseket.

Az egyetlen kódolás létrehozását azonban számos olyan probléma megoldásának szükségessége előzte meg, amelyek az akkoriban már létező szabványok sokfélesége miatt merültek fel. Közülük a leggyakoribbak:

  • tünde betűk, vagy "krakozyabry";
  • korlátozott karakterkészlet;
  • kódolási átalakítási probléma;
  • duplikált betűtípusok.

Kis történelmi kirándulás

Képzeld el, hogy a 80-as években. Számítógépes technológia még nem olyan gyakori, és más a megjelenése, mint a mai. Abban az időben minden operációs rendszer egyedi a maga módján, és minden rajongó sajátos igényei szerint módosítja. Az információk megosztásának igénye a világon mindennek további finomításává válik. Egy másik operációs rendszer alatt készült dokumentum olvasására tett kísérlet gyakran értelmezhetetlen karakterkészletet jelenít meg a képernyőn, és elkezdődnek a kódolásos játékok. Ezt nem mindig lehet gyorsan megtenni, és előfordul, hogy a szükséges dokumentumot fél év múlva, de akár később is meg lehet nyitni. Az információkat gyakran cserélő emberek konverziós táblázatokat készítenek maguknak. És a rajtuk végzett munka megmutatja érdekes részlet: két irányban kell létrehoznia őket: „az enyémtől a tiédig” és fordítva. A gép nem tudja banálisan megfordítani a számításokat, mert számára a forrás a jobb oldali oszlopban van, az eredmény pedig a bal oldalon, de fordítva nem. Ha szükség volt speciális karakterek használatára a dokumentumban, először hozzá kell adni, majd el kell magyarázni a partnernek, mit kell tennie, hogy ezek a karakterek ne váljanak „őrültté”. És ne felejtsük el, hogy minden kódoláshoz saját betűtípusokat kellett fejlesztenünk vagy megvalósítanunk, ami hatalmas számú másolat létrehozásához vezetett az operációs rendszerben.

Képzelje el azt is, hogy a betűtípusok oldalán 10 darab egyforma Times New Roman látható kis jelekkel: UTF-8, UTF-16, ANSI, UCS-2 esetén. Most már érted, hogy sürgős szükség volt egy egyetemes szabvány kidolgozására?

"Alkotó atyák"

Az Unicode eredete 1987-re tehető, amikor Joe Becker (Xerox) Lee Collinsszal és Mark Davisszel az Apple-től elkezdett kutatni egy univerzális karakterkészlet gyakorlati megalkotására. 1988 augusztusában Joe Becker kiadott egy javaslattervezetet egy 16 bites nemzetközi többnyelvű kódrendszerre.

Néhány hónap múlva munkacsoport Az Unicode-ot kibővítették Ken Whistlerrel és Mike Kernegannel az RLG-től, Glenn Wrighttal a Sun Microsystems-től és még néhány másikkal, ezzel befejezve az egyetlen kódolási szabvány előmunkálatait.

Általános leírása

Az Unicode a karakter fogalmán alapul. Ez a meghatározás egy absztrakt jelenségre vonatkozik, amely egy adott típusú írásban létezik, és grafémákon (a „portrékon”) keresztül valósul meg. Az "Unicode"-ban minden karaktert a szabvány egy adott blokkjához tartozó egyedi kód határoz meg. Például a B graféma angol és orosz ábécében is létezik, de Unicode-ban 2 különböző karaktere van. Transzformációt alkalmaznak rájuk, azaz mindegyiket egy adatbáziskulcs, egy tulajdonságkészlet és egy teljes név írja le.

Az Unicode előnyei

A többi kortárstól az Unicode kódolást a karakterek "titkosítására" szolgáló hatalmas karakterkészlet különböztette meg. A helyzet az, hogy elődei 8 bitesek voltak, vagyis 28 karaktert támogattak, de új fejlesztés már 216 karakterből állt, ami óriási előrelépés volt. Ez lehetővé tette szinte az összes létező és általános ábécé kódolását.

Az „Unicode” megjelenésével nincs szükség konverziós táblák használatára: hogyan egységes szabvány egyszerűen tagadta a szükségüket. Ugyanígy a "crakozyabry" is a feledés homályába merült – az egységes szabvány ellehetetlenítette őket, és megszűnt a duplikált betűtípusok létrehozása.

Unicode fejlesztés

Természetesen a fejlődés nem áll meg, és 25 év telt el az első bemutató óta. Az Unicode kódolás azonban makacsul tartja pozícióját a világban. Ez sok szempontból annak köszönhető, hogy könnyen megvalósíthatóvá és elterjedtté vált, felismerve a védett (fizetős) és nyílt forráskódú szoftverek fejlesztői által.

Ugyanakkor nem szabad azt feltételezni, hogy ma ugyanaz a Unicode kódolás áll rendelkezésünkre, mint negyed évszázaddal ezelőtt. Jelenleg a verziója 5.x.x-re módosult, a kódolt karakterek száma pedig 231-re nőtt. A nagyobb karakterkészlet használatának lehetőségét felhagyták annak érdekében, hogy továbbra is fenntartsák a Unicode-16 (olyan kódolás, ahol a maximális szám 216-ra korlátozódott). Megalakulása óta és egészen a 2.0.0-s verzióig a "Unicode Standard" majdnem kétszeresére növelte a benne szereplő karakterek számát. A lehetőségek bővülése a következő években is folytatódott. A 4.0.0-s verzióra már szükség volt magának a szabványnak a növelésére, ami meg is történt. Ennek eredményeként az "Unicode" megszerezte azt a formát, amelyben ma ismerjük.

Mi van még a Unicode-ban?

A hatalmas, folyamatosan frissülő karakterszám mellett van még egy hasznos funkciója. Ez az úgynevezett normalizálás. Ahelyett, hogy a teljes dokumentumot karakterenként görgetné át, és a megfelelő ikonokat helyettesítené a keresőtáblából, a meglévő normalizálási algoritmusok egyikét használja a rendszer. Miről beszélünk?

Ahelyett, hogy számítógépes erőforrásokat pazarolnánk ugyanazon karakterek rendszeres ellenőrzésére, amelyek különböző ábécékben hasonlóak lehetnek, egy speciális algoritmust használnak. Lehetővé teszi, hogy a hasonló karaktereket a helyettesítési táblázat egy külön oszlopában vegye ki, és már hivatkozzon rájuk, és ne ellenőrizze újra és újra az összes adatot.

Négy ilyen algoritmust fejlesztettek ki és valósítottak meg. Mindegyikben szigorúan meghatározott elv szerint történik az átalakulás, ami eltér a többitől, így egyiket sem lehet a leghatékonyabbnak nevezni. Mindegyiket speciális igényekre fejlesztették ki, végrehajtották és sikeresen használták.

A szabvány eloszlása

25 éves története során az Unicode valószínűleg a legszélesebb körben használt kódolás a világon. A programok és a weboldalak is ehhez a szabványhoz igazodnak. Az a tény, hogy a Unicode-ot ma az internetes források több mint 60%-a használja, az alkalmazási lehetőségek széles skálájáról beszélhet.

Most már tudja, mikor jelent meg az Unicode szabvány. Mi ez, Ön is tudja, és fel fogja tudni értékelni a Unicode Inc. szakértői csoportja által készített találmány teljes jelentőségét. több mint 25 évvel ezelőtt.

Az oldal megfelelő működéséhez JavaScript szükséges. Kérjük, engedélyezze a JavaScriptet a böngésző beállításaiban.

Unicode karaktertábla

Mutasd az összeset
Tartomány: 0000-001F: C0 vezérlőkarakterek 0020-007F: Alap latin 0080-009F: C1 vezérlőkarakterek 00A0-00FF: Latin-1 Kiegészítő karakterek 0100-017F: Latin Extended-A 0180-024F: AF Latin Extended-B0-020 : Kiterjesztett nemzetközi fonetikus ábécé 02B0-02FF: Nem kombinálható bővített módosító karakterek 0300-036F: Kombinálható diakritikus karakterek 0370-03FF: Görög és kopt ábécé 0400-04FF: Cirill 0500-052F: Cirill 0500-052F: További 05F3:05 cirill karakterek : héber 0600-06FF: arab 0700-074F: szír 0750-077F: kiegészítő arab 0780-07BF: tana (maldív) 07C0-07FF: Nko 0800-083F: szamaritánus 0800-083F: szamaritán 0800-083F: szamaritán 0800-08FF:8A-085F8A-085F -097F: Devanagari 0980-09FF: bengáli 0A00-0A7F: Gurmukhi 0A80-0AFF: gudzsaráti 0B00-0B7F: orija 0B80-0BFF: tamil 0C00-0C7F: telugu 0C80-0CFF: kannada 0D00-0D7F: malajálam 0D80-0DFF: szingaléz 0E00-0E7F: thai 0E80-0EFF: laoszi 0F00-0FFF: tibeti 1000-109F: koreai 1000-109F: Korea -137F: etióp szótag 1380-139F: további etióp karakterek 13A0-13FF: cseroki írás 1400-167F: kanadai szótag 1680-169F: Ogham 16A0-16FF: rovásírás 17A0-16FF: rovásírás -175F: Buhid 1760-177F: Tagbanwa 1780-17FF: Khmer írás 1800-18AF: Régi mongol írás 18B0-18FF: Kiterjesztett kanadai szótag 1900-194F: Limbu írásmód 1950-194F: Limbu írásmód 1950-194F: Limbu írásmód 1950-1917F Lypha9 TaiDF1:8-197F 19E0-19FF: Khmer karakterek 1A00-1A1F: Bugi írás (Lontara) 1A20-1AAF: Régi Tai Ly írás (Tai Tham) 1B00-1B7F: Balinéz írás 1B80-1 BBF: Szundán írásmód 1BC0-1BFF: Batak írás 1C00-1C4F: Lepcha írás (Rong) 1C50-1C7F: Ol Chiki script 1CD0-1CFF: Védikus karakterek 1D00-1D7F: Fonetikus kiterjesztések 1D80-1D7F: További telefonkiterjesztések 1D80-1DFF:1 További telefonok0-1DBF kombinálható diakritikus 1E00-1EFF: Latin kiterjesztett kiegészítés 1F00-1FFF: görög karakter kiterjesztett 2000-206F: Írásjelek 2070-209F: Felsõ- és alsó indexek 20A0-20CF: Pénznem szimbólumok 20A0-20CF: valuta szimbólumok 2150-218F karakterek: numerikus formák 2190-21FF: Nyilak 2200-22FF: Matematikai operátorok 2300-23FF: Különféle műszaki karakterek 2400-243F: Vezérlőkód ikonok 2440-245F: OCR-karakterek 2440-245-24:b-225:60 betűkkel 225-25:60 Szegélyszimbólumok 2580-259F: Kitöltési szimbólumok 25A0-25FF: Geometriai formák 2600-26FF: Vegyes szimbólumok 27 A Operátorok 2B00-2BFF: Vegyes szimbólumok és nyilak 2C00-2C5F: Glagolitic 1AB0-1AFF: Kombinált diakritikus karakterek (A kiterjesztés) 1CC0-1CCF: Kiterjesztett szundanai karakterkészlet A9E0-A9FF: Extended Sundanese Karakterkészlet A9E0-A9FF: Char- AB30-AB8F készlet: Latin Extended-E AB30-AB6F: Varang-Kshiti AB90-ABBF: Beria Zaghawa Script 2C60-2C7F: Latin Extended-C 2C80-2CFF: Kopt Script 2D00-2D2F: További grúz szkript2Dgha2D7F8D0-fin -2DDF: Etióp kiterjesztett karakterkészlet 2DE0-2DFF: Kiterjesztett cirill-A 2E00-2E7F: További jelekírásjelek 2E80-2EFF: További CJK karakterek 2F00-2FDF: Kangxi karakterbillentyűk 2FF0-2FFF: Karakterleíró karakterek 3000-303F: CJK karakterek és írásjelek 3040-309F: Hiragana 30A0-30FF 318F: Chamo kombinálva Hangul 3190-319F: Kambunában használt karakterek 31A0-31BF: Bopomofo kiterjesztett karakterkészlet 31C0-31EF: CJK 31F0-31FF: Katakana fonetikus kiterjesztések 3200-32FF: Beágyazott KJK-betűk 3200-32FF: 33 KJKFF 33 hónap Kompatibilitási jelek 3400-4DBF: CJK egyesített karakterek (A kiterjesztés) 4DC0-4DFF: I Ching hexagramok 4E00-9FFF: CJK egyesített karakterek A000-A48F: szótagok és A490-A4CF: gyökök és A4D5-0A AlphabetF Li63-0 Szótag A640-A69F: Cirill kiterjesztett-B A6A0-A6FF: Bamum Script A700-A71F: Hangszínváltó szimbólumok A720-A7FF: Latin kiterjesztett-D A800-A82F: Siloti Nagri A830-A83F: A8F numerikus négyzetek Phagba Lama A880-A8DF: Saurashtra A8E0-A8FF: Devanagari kiterjesztett karakter A900-A92F: Kayah Li A930-A95F: Rejang A960-A97F: Hangul (A bővítmény) A980-A9DF: jávai A60-A9DF: jávai AFAA0 - Chamar7mFAA5: AAA0 (A bővítmény) AA80-AADF: Tai Viet írás AB00-AB2F: Etióp írás (A kiterjesztés) ABC0-ABFF: Meitei/Manipuri AC00-D7AF: Hangul szótagok D800-DB7F: DB80 helyettesítő párok teteje - DBFF: Privát felső része helyettesítő párok használata DC00-DFFF: A helyettesítő párok alsó része E000-F8FF: Magánhasználati terület F900-FAFF: CJK-kompatibilis karakterek FB00-FB4F: Betűrendes ábrázolási formák FB50-FDCF: arab betű-A ábrázolási formák FDF0-FDFF: Arab Ábrázolási űrlapok FE00-FE0F: Stílusváltozat-választók FE10-FE1F: Függőleges formák FE20-FE2F: Kombinálható karakterfelek FE30-FE4F: CJC kompatibilitási űrlapok FE50-FE6F: Kis méretű változatok FE70-FE FF: arab betű-B űrlapok FF00-FFEF: fél- és teljes szélességű űrlapok FFF0-FFFF: speciális karakterek

  • Mi az a Unicode?

    Unicode(Angol) Unicode) egy univerzális karakterkódolási szabvány, amely lehetővé teszi karakterek biztosítását a világ minden nyelvéről.

    Az ASCII-vel ellentétben egy karakter két bájtként van kódolva, ami lehetővé teszi a használatát 65 536 karakterek, ellen 256 .

    Mint tudod, egy bájt egy egész szám nulla előtt 255 . Viszont egy bájt a következőkből áll nyolc olyan bitek, amelyek számértékeket tárolnak bináris formában, ahol az aktuális bit minden következő egysége kétszerese az előző bit értékének. Így két bájt tárolhat egy számot innen nulla előtt 65 535 , amely lehetővé teszi a használatát 65 536 karakterek (nulla + 65 535 , a nulla is egy szám, ez nem semmi).

    A Unicode karakterek szakaszokra vannak osztva. Első 128 karakterek ismétlődnek a táblázatban ASCII.

    A kódolás családja felelős a karakterek megjelenítéséért. Unicode (Unicode átalakítási formátum - UTF). A leghíresebb és legszélesebb körben használt kódolás az UTF-8.

  • Hogyan kell használni az asztalt?

    A szimbólumok soronként 16 darabban jelennek meg. Felülről láthatod hexadecimális szám tól től 0 előtt 16 . A bal oldalon hasonló számok hexadecimális formában innen 0 előtt FFF.
    Ha összekapcsolja a bal oldali számot a felül található számmal, megtudhatja a karakterkódot. Például: angol levél F vonalon található 004 , egy oszlopban 6 : 004 + 6 = karakter kód 0046 .

    Azonban egyszerűen vigye az egérmutatót fölé konkrét szimbólum táblázatban, hogy megtudja a karakterkódot. Vagy kattintson egy szimbólumra a másoláshoz vagy annak kódjára valamelyik formátumban.

    A keresőmezőbe beírhat keresési kulcsszavakat, például: nyilak, nap, szív. Vagy megadhatja a karakterkódot bármilyen formátumban, például: 1123, 04BC, چ. Vagy magát a szimbólumot, ha tudni akarja a szimbólum kódját.

    Keresés a következő szerint kulcsszavakat jelenleg fejlesztés alatt áll, így előfordulhat, hogy nem hoz eredményt. De sok népszerű szimbólum már megtalálható.

Akár hiszi, akár nem, a böngészőbe be van építve egy képformátum. Ez a formátum lehetővé teszi a képek letöltését, mielőtt szükség lenne rájuk, és biztosítja a kép renderelését normál ill retina képernyőkés lehetővé teszi a hozzáadását css képek. Oké, ez nem teljesen igaz. Ez nem képformátum, bár minden más továbbra is érvényes. Használatával felbontásfüggetlen ikonokat hozhat létre, amelyek betöltése nem igényel sok időt, és stílusozható velük CSS használatával.

Mi az a Unicode?

Az Unicode a különböző nyelvű betűk és írásjelek helyes megjelenítésének képessége ugyanazon az oldalon. Hihetetlenül hasznos: a felhasználók a világ minden tájáról dolgozhatnak az Ön webhelyével, és megmutatja, amit akar – lehet francia diakritikus vagy kanji .

A Unicode tovább fejlődik: most a jelenlegi verzió a 8.0, ami több mint 120 ezer karakterből áll (a 2014 elején megjelent eredeti cikkben a 6.3-as verzióról és 110 ezer karakterről volt szó).

A betűk és számok mellett más karakterek és ikonok is találhatók a Unicode-ban. NÁL NÉL legújabb verziói ezek közé tartozott az emoji, amelyet az iOS messengerben láthat.

HTML oldalak Unicode-karakterek sorozatából jönnek létre, és bájtokká alakulnak, amikor elküldik a hálózaton. Bármely nyelv minden betűje és szimbóluma saját egyedi kóddal rendelkezik, és a fájl mentésekor kódolásra kerül.

Az UTF-8 kódolási rendszer használatakor Unicode karaktereket közvetlenül beszúrhat a szövegbe, de Unicode karaktereket is hozzáadhat a szöveghez egy numerikus szimbolikus hivatkozás megadásával. Ez például egy szívszimbólum, és ezt a szimbólumot úgy jelenítheti meg, hogy egyszerűen hozzáad egy kódot a jelöléshez.

Ez a numerikus hivatkozás decimális és hexadecimális formátumban is megadható. A decimális formátum megköveteli, hogy az elejére x betű kerüljön, a bejegyzés ugyanazt a szívet ( ) adja, mint az előző opció. (2665 a 9829 hexadecimális változata).

Ha Unicode karaktert ad hozzá CSS-sel, akkor csak hexadecimális értékeket használhat.

A leggyakrabban használt Unicode-karakterek numerikus kódok helyett megjegyezhetőbb szöveges nevekkel vagy rövidítésekkel rendelkeznek, mint például az és (& - &). Az ilyen karaktereket hívják mnemonika a HTML-ben, teljes listájuk a Wikipédián található.

Miért érdemes Unicode-ot használni?

Jó kérdés, íme néhány ok:

  1. A különböző nyelvek megfelelő karaktereinek használata.
  2. Az ikonok cseréjéhez.
  3. A @font-face segítségével csatlakoztatott ikonok cseréje.
  4. CSS osztályok beállításához

Helyes karakterek

Az első ok nem igényel további lépéseket. Ha a HTML-t UTF-8 formátumban menti, és a kódolását UTF-8 formátumban továbbítja a hálózaton, akkor mindennek úgy kell működnie, ahogyan kell.

Kell. Sajnos nem minden böngésző és eszköz támogatja az összes Unicode karaktert egyformán (pontosabban nem minden betűtípus támogatja a teljes karakterkészletet). Például az újonnan hozzáadott emoji karakterek nem mindenhol támogatottak.

Az UTF-8 támogatásához HTML5-ben add (ha nem fér hozzá a szerver beállításaihoz, akkor azt is hozzá kell adnia ). A régi dokumentumtípus a ( ).

Ikonok

A második ok a Unicode használatára az, hogy rendelkezzen egy nagy szám hasznos szimbólumok, amelyek ikonként használhatók. Például , ≡ és .

Nyilvánvaló előnyük, hogy nincs szükséged rá további fájlok hozzáadni őket az oldalhoz, ami azt jelenti, hogy webhelye gyorsabb lesz. A CSS segítségével megváltoztathatja a színüket, vagy árnyékot adhat hozzá. Átmenetek hozzáadásával (css-átmenet) pedig simán változtatható az ikon színe, ha rámutatunk minden további kép nélkül.

Tegyük fel, hogy egy csillagokkal ellátott értékelési mutatót szeretnék az oldalamon feltüntetni. Meg tudom csinálni így:

★ ★ ★ ☆ ☆

A következő eredményt kapod:

De ha nincs szerencséje, valami ilyesmit fog látni:

Ugyanez a besorolás a BlackBerry 9000-en

Ez akkor fordul elő, ha a használt karakterek nem a böngésző vagy az eszköz betűtípusában vannak (szerencsére ezek a csillagok tökéletesen támogatottak és a régi Blackberry telefonok az egyetlen kivétel itt).

Ha nincs Unicode karakter, akkor az üres négyzettől (□) a kérdőjellel (�) ellátott rombuszig terjedő karakterekkel helyettesíthető.

De hogyan találhat olyan Unicode karaktert, amely alkalmas lehet a tervezésben való használatra? Megnézheti egy olyan webhelyen, mint az Unicodinator, ha megnézi az elérhető karaktereket, de vannak ilyenek is a legjobb mód. - ez a nagyszerű webhely lehetővé teszi, hogy megrajzolja a keresett ikont, majd felajánlja a hasonló Unicode karakterek listáját.

Unicode használata @font-face ikonokkal

Ha olyan ikonokat használ, amelyek a @font-face segítségével külső betűtípushoz vannak kapcsolva, Unicode karakterek használhatók tartalékként. Ily módon hasonló Unicode karaktert jeleníthet meg azokon az eszközökön vagy böngészőkön, ahol a @font-face nem támogatott:

A bal oldalon a Font Awesome ikonok a Chrome-ban, a jobb oldalon pedig a Unicode helyettesítő karakterek az Opera Miniben.

Sok @font-face egyeztető eszköz a Unicode karaktertartományt használja a magánhasználati területről. Ezzel a megközelítéssel az a probléma, hogy ha a @font-face nem támogatott, a karakterkódok jelentés nélkül kerülnek át a felhasználónak.

Kiválóan alkalmas ikonkészletek létrehozására @font-face-ben, és lehetővé teszi egy megfelelő Unicode karakter kiválasztását az ikon alapjául.

De légy óvatos – egyes böngészők és eszközök nem szeretik az egyes Unicode karaktereket, ha @font-face-el használják. Érdemes ellenőrizni az Unicode karakterek támogatását a Unify segítségével – ez az alkalmazás segít meghatározni, mennyire biztonságos a @font-face ikonkészletben szereplő karakterek használata.

Unicode karakterek támogatása

A Unicode-karakterek tartalékként való használatának fő problémája a képernyőolvasók gyenge támogatása (erről ismét a Unify-on található információ), ezért fontos, hogy körültekintően válassza ki a használt karaktereket.

Ha az ikonja csak egy díszítőelem a képernyőolvasó által olvasható szöveges címke mellett, akkor nem kell túl sokat aggódnia. De ha az ikon önálló, akkor érdemes egy rejtett szöveges címkét hozzáadni a képernyőolvasó felhasználóknak. Még akkor is, ha egy Unicode karaktert beolvas egy képernyőolvasó, fennáll annak az esélye, hogy nagyban eltér a rendeltetésétől. Például a ≡ (≡) hamburger ikonként a VoiceOver „azonosként” olvassa fel iOS rendszeren.

Unicode a CSS osztálynevekben

Az a tény, hogy a Unicode használható osztálynevekben és stíluslapokban, 2007 óta ismert. Jonathan Snook ekkor írt a Unicode karakterek használatáról a segítő osztályokban a lekerekített sarkok kirakásakor. Ez az ötlet nem kapott nagy terjesztést, de érdemes tudni az Unicode használatának lehetőségéről az osztálynevekben (speciális karakterek vagy cirill).

Betűtípus kiválasztása

Kevés betűtípus támogatja a teljes Unicode karakterkészletet, ezért mindenképpen ellenőrizze a kívánt karaktereket a betűtípus kiválasztásakor.

Sok ikon található a Segoe UI Symbolban vagy az Arial Unicode MS-ben. Ezek a betűtípusok PC-n és Mac-en is elérhetők; Lucida Grande-nak is van elég sok Unicode karaktere. Ezeket a betűtípusokat hozzáadhatja a font-család deklarációhoz, hogy a maximális számú Unicode karaktert kényszerítse ki az ilyen betűtípusokat telepítő felhasználók számára.

Unicode támogatás meghatározása

Nagyon kényelmes lenne, ha ellenőrizni tudnánk egy adott Unicode karakter jelenlétét, de erre nincs garantált mód.

A Unicode karakterek akkor lehetnek hatékonyak, ha támogatottak. Például egy emoji az e-mail tárgyában kiemeli a többi közül postafiók.

Következtetés

Ez a cikk csak a Unicode alapjaival foglalkozik. Remélem, hasznosnak találja, és segít a Unicode jobb megértésében és hatékony használatában.

Linklista

  • (Unicode alapú @font-face ikonkészlet generátor)
  • Alakzatfogó (Unicode karakterfelismerő eszköz)
  • Unicodinator (unicode karaktertábla)
  • Unify (Ellenőrizze a Unicode karakterek támogatását a böngészőkben)
  • Unitools (Eszközgyűjtemény a Unicode-dal való munkához)