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:

  1. Ha az ASCII kódolású karakter, a legmagasabb bit értéke 0, és a maradék 7 bitje a ASCII karakteres kódot.
  2. 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.
  3. 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.