Imath wiki - ábrázolása szöveges információ
Már foglalkozott a kódoló egész számok és a valós számok - mindketten képviselik bináris formában. Furcsa lenne elvárni valami más, a szöveges információkat.
A szöveg kódolt karakterenként. azaz minden egyes karakter van kódolva néhány egyértelmű módon, és a szöveg egy sor karakter.
A hozzárendelt bitek számának a szimbólum, és valójában felel meg az adott karakter kódja hívják kódolás.
Kódolási szabályt, egy leképezés a véges ábécé karakter (általában szöveges elemek: betűk, számok, írásjelek) és a szekvencia hossza egy vagy több karaktert egy másik ábécé (pontok és vonalak a Morze-kód jel zászlókat a flotta, egyesek és nullák (bitek ) a számítógépen).
A kódolás lehet különböző rögzített bit mélységben. azaz nyilván hogy egy ismert mennyiségű kódoló bit egy karaktert, és lehet, hogy egy változó bit mélységben.
Amerikai szabványos kód az információ csere - American Standard Code for Information Interchange.
Kifejlesztett 1963 és valamilyen formában a mai napig használnak.
ASCII, sőt, hét bites kódolás, de most minden egyes karakter van tárolva 8 bit, és a magasabb rendű bit értéke mindig 0.
Minden ASCII leírható, ahogy sejteni lehet, 128 karakter. Ezek közé tartozik: 32 vezérlő karakterek, számok, írásjelek és matematikai jelek, a kis- és nagybetűk, a latin ábécé, arab számokkal.
Jelenleg sok a vezérlő karakterek ritkán használják. A leggyakrabban használt:
- 0, 016. NULL, \ 0 - null karakter, használják számos programozási nyelvek, mint a sor végét jelző.
- 4, 416. EOT - "Vége az adás." Régen Egyes rendszerek (mint például a Unix-szerű), mint a marker a bemenet végét.
- 7, 716. BEL, \ egy - készülék továbbítja a kapott felhasználói jelet (általában egy hangjelzés)
- 8, 816. BS, \ b - használható akár törölheti az utolsó karakter, vagy a nyomtatás „tetején” belőle.
- 9, 916 HT, \ t - vízszintes lapon segítségével beállítható a sorok
- 10, A16. LF, \ n - „sortörést” a sor végére marker a kiviteli alakoknál Unix
- 11, B16. VT, \ v - a függőleges lap
- 12, 16. FF, \ f - törli a terminál képernyőjén vagy a nyomtatás során az aktuális oldal
- 13, D16. CR, \ r - „kocsi vissza” - a kurzort a sor elejére. Ezt használják a marker a sor végére a Mac OS. \ R \ n alkalmazható markerként a sor végére a Windows.
- 27, 1B16. ESC - „menekülési” használják, hogy adja meg a terminál parancsok.
- 127, 7F16. DEL - egyes rendszerekben lehet törölni egy karaktert.
Segítségével 8 bit tárolására 7-bites ASCII karaktereket lehet egészíteni kódolás ASCII angol karaktereket, amelyben az MSB 1.
Az orosz nyelv az alábbi kódok széles körben használják:
- CP866 - széles körben használják a MS-DOS
- KOI8-R - t széles körben használják a Unix-szerű operációs rendszerek (Linux, BSD)
- CP1251 - körben használt (és részben még ma is használatban) Windows operációs rendszerek.
Leíró, CP866, kivéve az orosz betűket tartalmaz Pseudographic karakterek, KOI8-R van kialakítva oly módon, hogy a támogató terminálokon csak hét bites ASCII orosz szöveget vált átírási fordított regiszter (nagybetűvel lesz a kis és a kis - nagy) és CP1251 tartalmaz gyakorlatilag az összes nyomtatás karakterek és a szintén orosz, ukrán és belorusz szimbólumokat tartalmaz.
Körülbelül egyidejűleg a UCS megjelent Unicode alkalmazott szabvány 16-bites karakter kódolást.
Ennek eredményeként a további fejlődésre, UCS és Unicode fejlesztettek együtt. Abban a pillanatban, van három közös kódolás:
UTF-32 támogatás végrehajtása nem mindenhol. Annak ellenére, hogy a 32 bit-et használnak, hogy gyakorlatilag értelmetlen fiatalabb 31. Az elméleti maximum - 2147483647 karakter. Szinte az összes jelenlegi szabvány lehetővé teszi a különböző kódokat 1.114.111, bár ez a tartomány kiterjeszthető a jövőben. UTF-32 - kódoló fix hosszúságú.
UTF-16 támogatja az összes fő karakter a modern nyelvek, valamint számos speciális karakterek, mint például a matematikai szimbólumokat, szabályozó szekvenciák, ékezetek, stb Symbol kódolva van egy vagy két „szavak” 16 bites. Minden lehetséges 1.112.064 különböző kódokat. A régebbi megvalósítások kódok használata csak egy „szó”.
UTF-8 által kódolt egy vagy több oktet (8 bit), és visszafelé-kompatibilis az ASCII. A mai napig, az UTF-8 a legnépszerűbb univerzális kódolás: a legtöbb Unix-szerű operációs rendszerek és a túlnyomó többség a weboldalak használják fel.
Kódolás UTF-8, mint egy változó hosszúságú kódolás
A karakterek vannak kódolva UTF-8 az alábbiak szerint:
- Ha az ASCII kódolású karakter, a legmagasabb bit értéke 0, és a maradék 7 bitje a ASCII karakteres kódot.
- Ellenkező esetben, az első 8 bitet tartalmaznak az N egységek, ahol n - a bájtok számát a kódolt jel (azaz legalább 2 egység), majd 0. A maradék bitek képviselik a karakter kód része.
- A következő blokk 8 bit kezdődik 10 (az MSB értéke 1, a következő - 0), és a fennmaradó biteket képviseli a karakter kód része.
A maximális hossza egy karakter kódját UTF-8-6 bájt. Min - 1 bájt.
Így, technikailag UTF-8 kódolhat bármilyen sorrendben UTF-32.
Meg kell jegyezni, hogy a jelenlegi változat a Unicode szabvány magában foglalja a 6. legnagyobb kódot 10FFFF16. kódoláshoz amelyek UTF-8 kellően 4 bájt.
Elméletileg, a képesség, hogy kódolni több mint 31 bit UTF-8, de most már nincs használatban. Azonban, ha az első 8 bitet 1-be, a következő 8 bit is lehet értelmezni, mint a bájtok számát a kódot.