UTF-32

UTF-32 (taktéž UCS-4) je protokol pro kódování Unicode znaků. Tento protokol kóduje každý znak (kód nebo kódový bod sady Unicode) právě 32 bity (čtyřmi bajty). Tím vzniká přímá reprezentace znaku. Ostatní běžná kódování Unicode, používají pro zakódování jednoho znaku proměnný počet bitů.

Výhody a nevýhody

Hlavní výhodou UTF-32 oproti kódováním s proměnnou délkou je to, že tyto Unicode kódy jsou přímo indexovatelné. Kterýkoli znak (kód) v řetězci je dostupný ve stejném čase. Kódování s proměnlivou délkou znaku vyžadují pro nalezení n-tého znaku sekvenční přístup. Díky tomu lze s pomocí UTF-32 poměrně jednoduše použít algoritmy pracující s kódem ASCII, a odvozenýmí národními 8bitovými kódy kde je také každý znak reprezentován konstantním počtem bitů (v daném případě osmi bity).

Hlavní nevýhodou UTF-32 je neefiktivita nakládání s pamětí, zakódování každého znaku spotřebuje 4 bajty. Vzhledem k tomu, že výskyt ne-ASCII znaků v českých textech je vzácný (asijské, africké, ruské znaky apod.), český text zapsaný v UTF-32 spotřebuje téměř dvakrát více paměti než UTF-16 a téměř čtyřikrát více paměti než při kódování UTF-8.

Další nevýhodou je, že pořadí bajtů ve znaku při ukládání řetězců na paměťová média nebo při jejich přenosu je dané architekturou systému, což může vést k nekompatibilitě při zpracování textů v různých operačních systémech, procesorových architekturách, nebo v různých počítačových jazycích. Tuto slabinu sdílejí téměř všechna kódování sady unicode, s výjimkou UTF-8 a GB 18030.

UTF-32 je výhodnou volbou při zpracování textových řetězců, ale je nevhodný pro ukládání řetězců na paměťová média, nebo pro práci s rozsáhlými poli řetězců v operační paměti počítače.

Historie

Původní standard ISO 10646 definuje 31bitové kódování nazývané UCS-4, v kterém je každý znak reprezentován 32bitovým číslem. Toto číslo může nabývat hodnoty mezi 0 až hexadeximálně 7FFFFFFF.

Protože nyní norma připouští použití 17 oblastí z nichž každá obsahuje 216 kódových bodů, povolené hodnoty kódových bodů jsou 0 až hexadecimálně 10FFFF. UTF-32 je proto podmnožinou UCS-4.

Použití

Kódování UTF-32 se často používá při interním zpracování řetězců API. Různé systémy API a jazyky kvůli úspoře paměti nebo z historických důvodů používají i při interním zpracování řetězců odlišná kódování.

V Unixových operačních systémech se řetězci s kódováním UTF-32 občas setkáme kvůli tomu, že typ wchar_t (datový typ používaný pro ukládání znaků ve standardních knihovnách jazyka C) je zde implementován jako 32bitový. Knihovny operačních systémů rodiny Microsoft Windows používají 16bitový wchar_t, pracují tedy v kódování UTF-16.

Nižší verze programovacího jazyka Python (tj. do verze 3.2) mohou vnitřně pracovat s kódováním UTF-16. Od verze 3.3 využívá Python pro zpracování řetězců výhradně kód UTF-32. Programovací jazyk Seed7 kóduje všechny znaky i řetězce pomocí UTF-32.

Reference

V tomto článku byl použit překlad textu z článku UTF-32 na anglické Wikipedii.


Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/UTF-32
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.