karakterkódolás

Bármennyi (bizonyos határokon belül) egy számítógép memóriájában kódolt számok bináris rendszer. Ehhez vannak egyszerű és világos szabályokat a fordítás. Azonban a mai napig a számítógépet használnak sokkal szélesebb körben, mint a szerepe a művész fáradságos számításokat. Például, szöveges és multimédiás információk a számítógép memóriájában. Ezért az első kérdés:

Mint szimbólumok (betűk) tárolja a számítógép memóriájában?

Minden betű tartozik egy adott ábécé, amelyben a karakterek követik egymást, és így számláltassanak egymást követő egész szám. Minden betű is társítható egy pozitív egész szám, és ez egy karakter kódját. Ez a kód lesz a számítógép memóriájában tárolt, és egy kimenet a képernyőn, vagy papíron „transzformált” a megfelelő szimbólumot. Megkülönböztetni a számok ábrázolása képviselő karakterek a számítógép memóriájában, akkor is szükséges információkat tárolni, amely az adatok kódolva egy bizonyos területen a memória.

Betartása egyes betűket az ábécé, kódokhoz alkotó úgynevezett kódkönyvből. Más szóval, minden egyes szimbólum az ábécé saját egyedi kódszámmal összhangban egy bizonyos kódolási táblázatban.

Azonban az ábécé a világ oly sok (angol, magyar, kínai, stb.) Ezért a következő kérdést:

Hogyan kell kódolni az összes ábécék használt számítógépet?

A kérdés megválaszolásához, menjünk át a történelmi.

A 60-es években a XX században a American National Standards Institute (ANSI) karakterkódolás asztal alakult, amelyet később használt összes operációs rendszerek. Ez a táblázat az úgynevezett ASCII (American Standard Code for Information Interchange - American Standard Code for Information Interchange). Egy kicsit később, volt egy kiterjesztett változata ASCII.

Összhangban a ASCII kódolási táblázat képviselő egy szimbólum van hozzárendelve 1 bájt (8 bit). Állítsa be a 8-sejtek vehet február 8 = 256 különböző értékeket. Az első 128-értékek (0-127) állandóak, így egy úgynevezett fő része az asztalra, amelyek magukban foglalják a tizedes számok, betűk az ábécé (a nagybetűs és kisbetűs), írásjelek (pont, vessző, konzolok, stb ..), Valamint a tér és a különböző speciális karakterek (tab, újsor et al.). Értékek 128-255 együtt egy további részét az asztalra, ahol azt feltételezik, hogy kódolja a nem angol karaktereket.

Mivel a nemzeti ábécé hatalmas készlet, a kiterjesztett ASCII-tábla, sok változatban. Még több kódkönyvekhez (közös Windows 1251 és KOI8-r) a magyar nyelvet. Mindez megteremti további nehézségeket. Például, küldjön egy levelet írt egy kódolási, és a vevő megpróbálja olvasni a másik. Az eredmény lát halandzsa. Ezért az olvasó köteles alkalmazni a szöveg egy másik kódkönyvből.

Van egy másik probléma. Egyes nyelvek ábécé túl sok karaktert, és nem fér bele a kijelölt helyekre 128-255 egybájtos kódolás.

A harmadik probléma - mi a teendő, ha a szöveg használ egynél több nyelvet (például magyar, angol és francia nyelven)? Nem lehet használni a két asztalon egyszerre ...

Ezen problémák megoldására egy időben kódolása Unicode alakult.

Unicode karakterkódolási szabvány

Hogy oldja meg a fenti problémák a korai 90-es alakult karakterkódolást Unicode megkapta a nevét. Ez a szabvány lehetővé teszi, hogy szinte minden nyelven és szimbólumok a szövegben.

A Unicode karakterkódolás rendelkezik 31 bit (4 byte mínusz egy bit). A lehetséges kombinációk száma ad transzmarginális száma: 2 31 = 2 147 483 684 (azaz több mint kétmilliárd). Éppen ezért a Unicode ábécé írja le az összes ismert nyelven, még a „halott”, és fiktív, köztük számos matematikai és egyéb speciális karaktereket. Ugyanakkor az információs kapacitása 31 bites Unicode még mindig túl nagy. Ezért minél több általánosan használt rövidített 16-bites változata (2 16 = 65536 értékek), amely kódolja az összes modern ábécé.

A Unicode, az első 128 kódok egybeesnek a ASCII tábla.