Array ( [0] => 15481136 [id] => 15481136 [1] => cswiki [site] => cswiki [2] => Unicode [uri] => Unicode [3] => Unicode sample.png [img] => Unicode sample.png [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 1 [has_content] => 1 [12] => [oai_cs_optimisticky] => ) Array ( [0] => [[Soubor:New Unicode logo.svg|náhled|180px|Logo Unicode konsorcia]] [1] => '''Unicode''' ({{Vjazyce2|en|''Unicode''}}) je [[technická norma]] pro oblast [[Výpočetní technika|výpočetní techniky]] definující jednotnou znakovou sadu a konzistentní [[kódování znaků]] pro reprezentaci a zpracovávání [[Znak (počítače)|textů]] použitelné pro většinu [[Písmo|písem]] používaných v současnosti na Zemi. Unicode je vyvíjen v součinnosti s [[ISO/IEC 10646]] a je publikován elektronicky jako ''The Unicode Standard''. Nejnovější verze obsahuje repertoár více než 140 000 [[znak (počítače)|znaků]] pokrývajících 159 moderních a historických [[Písmo|písem]] a mnoho sad symbolů. Standard sestává ze sady tabulek pro vizuální referenci, popisu metod kódování, sady referenčních datových [[soubor]]ů a dalších položek, jako například vlastností znaků, pravidel pro [[Unicode normalizace|normalizaci]] textů, dekompozici, [[Abecední řazení|řazení]], vykreslování a zobrazování [[obousměrný text|obousměrného textu]] (pro správné zobrazení textu obsahující písma psaná zprava doleva i zleva doprava, jako například [[arabské písmo|arabské]] a [[hebrejské písmo]]).{{Citace elektronické monografie [2] => | titul = The Unicode Standard: A Technical Introduction [3] => | url = http://www.unicode.org/standard/principles.html [4] => | datum přístupu = 2010-03-16 [5] => }} Poslední verze je ''Unicode 14.0'' ze září roku 2021. Normu udržuje [[Unicode Consortium]]. [6] => [7] => Úspěch Unicode v unifikaci znakových sad vedl k jeho rozšíření a převládajícímu používání pro [[Internacionalizace a lokalizace|internacionalizaci a lokalizaci]] [[Software|počítačového softwaru]]. Unicode je implementován mnoha technologiemi, včetně moderních [[operační systém|operačních systémů]], [[Extensible Markup Language|XML]], [[Java (programovací jazyk)|programovacím jazykem Java]] a [[.NET]] Frameworkem firmy [[Microsoft]]. [8] => [9] => Unicode definuje několik způsobů reprezentace textů různými [[znakový kód|znakovými kódy]]. K nejpoužívanějším kódováním patří [[UTF-8]], [[UTF-16]] a zastaralé [[UCS-2]]. UTF-8 používá jeden [[bajt]] pro libovolný [[ASCII]] znak, přičemž všechny ASCII znaky mají v UTF-8 stejné kódové hodnoty jako ASCII a dva až čtyři bajty pro jiné znaky. UCS-2 používá 16bitové kódové jednotky (dva [[oktet (informatika)|8bitové bajty]]) pro každý znak, ale neumožňuje kódovat všechny znaky v aktuálním standardu Unicode. UTF-16 je rozšíření UCS-2, které pomocí dvou 16bitových jednotek (4 × 8 bit) umožňuje kódovat všechny znaky z Unicode. V Číně se používá kódování [[GB 18030|GB18030]], které přebírá celý znakový repertoár Unicode, proto je také jedním ze způsobů kódování Unicode. Mapování GB18030 na UTF-32 je však netriviální (potřebuje převodní tabulku). [10] => [11] => Umožňuje současně používat různá písma při vícejazyčném zpracování textu v počítači a kóduje široké portfolio znaků pro profesionální zpracování textů v prakticky jakémkoli moderním i historickém jazyce. Nevýhodou unicode může být složitější zpracování, stejný text zabírá více prostoru na disku nebo v operační paměti počítače. Ovšem výhody univerzální znakové sady drtivě převažují, což je vidět mj. na tom, že starší osmibitové znakové sady jsou dnes definované jako podmnožiny Unicode. [12] => [13] => == Historie == [14] => Ke konci osmdesátých let 20. století vznikla naléhavá potřeba sjednotit různé kódové tabulky znaků pro národní abecedy. Pro [[čeština|český jazyk]] se používalo nejméně 5 různých [[Kódování češtiny|kódování]] ([[Kód Kamenických|kódování bratří Kamenických]], [[CP852|PC Latin 2]], [[Windows-1250]], [[ISO 8859-2|ISO Latin 2]], [[KOI#KOI8-CS|KOI8-CS]][http://www.cestina.cz/kodovani/ Přehled kódování češtiny]) a podobná situace byla ve všech jazycích, které nevystačily se základní 7bitovou tabulkou [[ASCII]] znaků, což přinášelo problémy při přenosech dat mezi programy a platformami a spolupráci aplikací. [15] => [16] => V té době vznikly současně dva projekty pro vytvoření jednotné univerzální kódovací tabulky znaků. Byl to projekt [[ISO 10646]] organizace [[Mezinárodní organizace pro normalizaci|ISO]] a projekt ''Unicode''. Norma ISO definuje tzv. [[UCS]] – ''Universal Character Set''. Kolem roku [[1991]] došlo k dohodě a projekty spojily své úsilí na vytvoření jednotné tabulky. Oba projekty stále existují a publikují své [[standard]]y samostatně, ale tabulky znaků jsou kompatibilní a jejich rozšiřování je koordinováno. [17] => [18] => === Historie verzí Unicode === [19] => Všechny verze Unicode od 2.0 výše jsou zpětně kompatibilní, jsou přidávány pouze nové znaky, existující znaky nejsou vyřazovány nebo přejmenovávány. Poslední verze publikovaná v knižní podobě byla verze Unicode 5.2 ({{ISBN|0-321-48091-0}}); od verze 6.0 je plný text normy publikován pouze elektronicky; v roce 2012 bylo oznámeno, že od verze 6.1 bude v knižní podobě dostupné pouze jádro normy (v té době čítající 692 stránek) tištěných na žádost.{{Citace elektronické monografie [20] => | titul = Unicode 6.1 Paperback Available [21] => | url = http://www.unicode.org/mail-arch/unicode-ml/y2012-m05/0240.html [22] => | work = announcements_at_unicode.org [23] => | accessdate = 2012-05-30 [24] => }} Na rozdíl od předchozích hlavních verzí výtisků normy, tištěná verze nezahrnuje žádné tabulky kódu nebo doplňky standardu. Celý standard, včetně jádra, je volně dostupný na WWW serveru Unicode konsorcia[http://www.unicode.org/ The Unicode Consortium]. [25] => * Unicode '''1.0''' ([[1991]]), Unicode '''1.1''' ([[1993]], odpovídá normě ISO 10646-1:1993,) [26] => * [http://www.unicode.org/versions/Unicode2.0.0/ Unicode '''2.0'''] ([[1996]]), [http://www.unicode.org/versions/Unicode2.1.0/ Unicode '''2.1'''] ([[1998]]) [27] => * [http://www.unicode.org/versions/Unicode3.0.0/ Unicode '''3.0'''] ([[1999]], [[2000]], odpovídá normě ISO 10646-1:2000), [http://www.unicode.org/versions/Unicode3.1.0/ Unicode '''3.1'''] ([[2001]]), [http://www.unicode.org/versions/Unicode3.2.0/ Unicode '''3.2'''] ([[2002]]) [28] => * [http://www.unicode.org/versions/Unicode4.0.0/ Unicode '''4.0'''] ([[2003]], odpovídá třetí verzi ISO 10646:2003), [http://www.unicode.org/versions/Unicode4.1.0/ Unicode '''4.1'''] ([[2005]]) [29] => * [http://www.unicode.org/versions/Unicode5.0.0/ Unicode '''5.0'''] ([[2006]]), [http://www.unicode.org/versions/Unicode5.1.0/ Unicode '''5.1'''] ([[2008]]), [http://www.unicode.org/versions/Unicode5.2.0/ Unicode '''5.2'''] ([[2009]]) – celkem obsahuje 107361 znaků z 90 různých jazyků a abeced.[http://www.unicode.org/charts/ Unicode Scripts]{{Citace elektronického periodika [30] => | titul = Unicode Statistics [31] => | periodikum = www.unicode.org [32] => | url = https://www.unicode.org/versions/stats/ [33] => | datum přístupu = 2024-04-03 [34] => }} [35] => * [https://web.archive.org/web/20130208174646/http://www.unicode.org/versions/Unicode6.0.0/ Unicode '''6.0'''] ([[2010]]), [http://www.unicode.org/versions/Unicode6.1.0/ Unicode '''6.1'''] ([[2012]]), [http://www.unicode.org/versions/Unicode6.2.0/ Unicode '''6.2'''] ([[2012]]), [http://www.unicode.org/versions/Unicode6.3.0/ Unicode '''6.3'''] ([[2013]]) [36] => * [http://www.unicode.org/versions/Unicode7.0.0/ Unicode '''7.0'''] ([[2014]]) – rozšiřuje množinu znaků o asi 250 znaků [[emodži]].{{Citace elektronického periodika [37] => | příjmení = Němec [38] => | jméno = Petr [39] => | autor = [40] => | odkaz na autora = [41] => | spoluautoři = [42] => | titul = Unicode Standard 7.0: přibližně 250 nových „smajlíků“ [43] => | periodikum = Root.cz [44] => | odkaz na periodikum = Root.cz [45] => | url = http://www.root.cz/zpravicky/unicode-standard-7-0-priblizne-250-novych-smajliku/ [46] => | datum vydání = 2014-06-17 [47] => | ročník = [48] => | číslo = [49] => | strany = [50] => | issn = 1212-8309 [51] => | datum přístupu = 2014-08-26 [52] => | datum aktualizace = [53] => }}, celkem přidává 2834 nových znaků (327 do BMP, zbytek do Plane 1), zavádí 23 nových jazyků.[http://www.unicode.org/versions/Unicode7.0.0/ Unicode 7.0.0] na unicode.org, cit. 2014-08-26 [54] => * [http://www.unicode.org/versions/Unicode8.0.0/ Unicode '''8.0'''] (2015) – obsahuje celkem 120737 grafických znaků ve 129 písmech; zavádí podporu abecedy Ahom, anatolských hieroglyfů, abeced Hatran, Multani, [[Rovas]] a [[znakopis]]u, doplňuje 5771 unifikovaných [[CJK]] ideografů, sadu malých písmen pro slabičné písmo Cherokee a pět emoji modifikátorů pro odstíny kůže{{Citace elektronické monografie [55] => | titul = Unicode Data 8.0.0 [56] => | url = http://www.unicode.org/Public/8.0.0/ucd/UnicodeData.txt [57] => | datum přístupu = 2015-06-17 [58] => }} [59] => . [60] => * [http://www.unicode.org/versions/Unicode9.0.0/ Unicode '''9.0'''] ([[2016]]) [61] => * [http://www.unicode.org/versions/Unicode10.0.0/ Unicode '''10.0'''] ([[2017]]) – definuje celkem 136690 znaků ze 139 jazyků a abeced [62] => * [http://www.unicode.org/versions/Unicode11.0.0/ Unicode '''11.0'''] ([[2018]]) [63] => * [http://www.unicode.org/versions/Unicode12.0.0/ Unicode '''12.0'''] ([[2019]]) [64] => * [http://www.unicode.org/versions/Unicode13.0.0/ Unicode '''13.0'''] ([[2020]]) – definuje 143859 znaků ve 154 písmech [65] => * Unicode '''14.0''' ([[2021]]) – definuje 144697 znaků ve 159 písmech[https://www.unicode.org/versions/Unicode14.0.0/ Unicode 14.0.0] [66] => [67] => == Principy standardu Unicode == [68] => * '''Jednotnost''' – konstantní šířka znaků (UTF-32) dovoluje efektivní hledání, řazení, editaci a zobrazení prvků. [69] => * '''Univerzálnost''' – zahrnutí všech znaků, které by mohly být využity při výměně textů – především ty, které už byly definovány v hlavních mezinárodních, národních a průmyslových znakových sadách. [70] => * '''Jednoznačnost''' – jakákoli 16bitová (dnes 32bitová) hodnota zastupuje v jakémkoliv kontextu stejný znak. [71] => * '''Maximální využití''' – snadná zpracovatelnost textu poskládaného z posloupnosti znaků o konstantní šířce; kódování znaků není závislé na kontextu, pro strojové zpracování textu není nutné vyhodnocovat escape sekvence nebo prohledávat text dopředu či zpět kvůli určení totožnosti znaků. [72] => [73] => Standard Unicode se oproti ISO 10646 navíc zabývá implementací algoritmů pro písma psaná zprava doleva (např. [[arabština]]), podporou oboustranných textů (jako např. směs hebrejštiny a latinky), algoritmy pro [[abecední řazení|řazení]] a porovnávání textů. [74] => [75] => Unicode Consortium může neustále aktualizovat rozsah znaků v tabulce Unicode vydávaním nových verzí. Proto následující řádky nemusí být v budoucnu stále platné. Unicode verze XX (rok XX?????) nezahrnuje znaky, které neslouží k zápisu textu, jako jsou například taneční či hudební značky. Rovněž se nezabývá variantami zobrazení znaků (ve fontu může být více glyfů pro jeden význam, resp. pro jeden kód dle tabulky) a neobsahuje speciální znaky pro přechodné vkládání textu. Ve znakovém repertoáru Unicode kódování je vyhrazeno 6400 znaků pro potřebu programů, jejichž využití není nijak omezeno. [76] => [77] => V souvislosti s jazyky jako je [[wachánština]], jejichž ortografie založené na [[latinka|latince]] používají několik znaků [[cyrilice]] či [[řecké písmo|řeckého písma]], byla řešena otázka, zda kvůli nim do Unicode přidat znaky jako ''latinská [[delta (písmeno)|delta]]'', ''latinská [[théta]]'' či ''latinské [[Ы|jery]]'' jako latinské protějšky těchto řeckých a cyrilských písmen.Jim Allan, [https://www.mail-archive.com/unicode@unicode.org/msg14260.html mixed-script writing systems], 2002-11-15, cit. 2014-08-27 Jeden z názorů na tuto problematiku je, že požadavek, aby jazyk byl zapisován pouze znaky jednoho písma, je umělý, a že v minulosti si různé jazyky půjčovaly písmena i z jiných písem, takže na soubor písmen latinky, cyrilice a řeckého písma může být nahlíženo jako na latinsko-cyrilsko-řecké metapísmo, a tedy pro zápis těchto jazyků používat písmena v Unicode již obsažená místo vytváření nových.Kenneth Whistler, [https://www.mail-archive.com/unicode@unicode.org/msg14261.html mixed-script writing systems], 2002-11-15, cit. 2014-08-27 I v případě, kdy by tato písmena byla zavedena, lze očekávat, že by i nadále pro zápis byly používány řecké a cyrilské verze těchto písmen, protože latinské verze by byly obsaženy pouze v malém počtu fontů. [78] => [79] => Tento princip může způsobovat problémy při zpracování čínského, japonského a korejského písma ([[CJK]]), které mají společný historický základ, ale mají např. v Číně a Japonsku posunutý význam a odlišný tvar. [80] => [81] => == Architektura Unicode == [82] => [83] => === {{Kotva|BMP}} Basic Multilingual Plane === [84] => [85] => Unicode byl původně navrhován jako 16bitová znaková sada, což se později (hlavně s ohledem na [[CJK|čínské znaky]]) ukázalo jako nedostatečné. Původní rozsah Unicode, tj. prvních 65 536 znaků, které jsou reprezentovatelné pomocí 16 bitů, se označuje jako BMP (Basic Multilingual Plane) – základní vícejazyčná rovina Unicode. [86] => [87] => === Roviny Unicode === [88] => [89] => Standard [[ISO/IEC 10646]] oproti Unicode zpočátku používal 31bitové kódování znaků, které umožňuje reprezentaci více než 2 miliard znaků. Toto množství se ukázalo být zbytečně velké, proto bylo v listopadu 2003 v souvislosti se zavedením kódování UTF-16 omezeno na rozsah 0 až 10FFFF16 rozdělený na 17 tak zvaných '''rovin''' ({{Vjazyce2|en|''plane''}}) po 65 536 znacích (1000016). Celý rozsah kódů tak lze rozdělit na BMP (Plane 0), Plane 1, Plane 2, ... až Plane 16. Celková kapacita Unicode je tedy 1114112 kódových bodů. [90] => [91] => === {{Kotva|Surrogate Pairs}} Náhradní páry === [92] => [93] => Znaky mimo BMP se v [[UTF-16]] kódují dvojicí speciálních kódů, které se nazývají '''zástupné''' nebo '''náhradní páry''' ({{Vjazyce2|en|''surrogate pairs'', ''surrogates''}}). Kódy používané pro náhradní páry spadají do BMP a nejsou jim přiřazeny žádné znaky. [94] => [95] => === Skupiny Unicode === [96] => * '''Písma''' [97] => ** podle místa původu: Evropa, Afrika, Blízký východ, Střední Asie, Jižní Asie, Jihovýchodní Asie, Východní Asie, Indonésie a Oceánie, Amerika [98] => ** kombinující diakritika [99] => ** fonetické znaky a zkratky: IPA [100] => * '''Číslice a číselné znaky''': číselné formy, zlomky, horní/dolní indexy [101] => * '''Interpunkční znaménka''': obecná interpunkce [102] => * '''[[CJK]]''' [103] => * '''Symboly''': alfanumerické, kombinující diakritika, technické symboly, matematické symboly, ostatní symboly [104] => * '''Speciální''': kontrolní znaky, osobní použití (v tabulce v PUA – „Private Use Area“), náhradní symboly, „ne-znaky“, rezervované znaky [105] => [106] => === Mapa Unicode === [107] => [108] => Každý znak má jednoznačný číselný kód a svůj název. Navíc Unicode definuje u každého znaku některé základní vlastnosti, jako např. zda se jedná o písmeno, symbol atd., zda je písmeno [[majuskule|velké]] či [[minuskule|malé]] atp. [109] => [110] => Tabulka Unicode poskytuje prostor pro 1 114 112 znaků s kódy 016 až 10FFFF16. Tento prostor se dělí na 17 částí, každý o velikosti 216. První část se nazývá ''Basic Multilingual Plane'' (BMP) a obsahuje znaky běžně používaných abeced. Původní 16bitový návrh Unicode počítal jen s BMP, následně se ale ukázalo, že pro pokrytí všech používaných abeced to nestačí. [111] => [112] => Prvních 128 znaků (tj. sedmibitové kódy) obsahuje znakovou sadu [[ASCII]]. Osmibitové kódy (tj. prvních 256 znaků) obsahují znakovou sadu [[ISO 8859-1]] (ISO 8859-1 obsahuje ASCII). [113] => [114] => V Unicode jsou také rezervovány místa pro '''vlastní znaky'''. Pro tento účel byla v Unicode tabulce rezervována tzv. ''PUA sekce'' (Private Use Area), ve které je možné využít volné kódy pro osobní potřebu. Takto je možné, aby tvůrci fontů vkládali k písmu vlastní grafiky jako jsou loga apod. [115] => [116] => Je nutné si uvědomit, že v Unicode jsou to trvale volná místa a přináší jen '''jediný benefit''' – že nebudou zaměněny za jiný znak. V případě změny za cizí font je obvykle znak zvýrazněný jako chybějící. [117] => [118] => Použití vlastních znaků v textu lze doporučit, jen pokud mají '''dekorativní funkci'''. Důvodem je jejich omezení v reprodukování. '''Vlastní znaky''' nelze volně přes internetovou síť dále reprodukovat (zobrazit, tisknout, číst hlasem), ale ani vyhledat. Existence těchto znaků může být spojená pouze s konkrétním fontem. Pokud se dokument bude pohybovat ve známém prostředí, např. intranet, tak s vlastním, resp. firemním fontem lze zajistit alespoň vizuální reprodukovatelnost (zobrazení, tisk) těchto znaků. [119] => [120] => Zajistit správné zobrazení na internetové síti lze pomocí ''uzavřeného formátu'', například v '''PDF souboru'''. Tento elektronický dokument by však měl splňovat kritéria nejen pro správné zobrazení, ale také například čitelnost pro vyhledávače, reprodukovatelnost přes screen-readery pro zrakově postižené apod. Zajistěte při použití vlastních znaků, aby nenesly „čtenou“ informaci a měly jen dekorativní funkci. [121] => {{Bloky Unicode}} [122] => [123] => === Kódování === [124] => {{Kódování Unicode}} [125] => Existuje několik různých způsobů, jak [[kód]]ovat řetězce složené ze znaků (kódových bodů) Unicode. Unicode řetězec je sekvencí kódových bodů Unicode. Způsob jak tuto sekvenci uložit do paměti počítače nebo serializovat na disk se označuje jako kódovací znakové schéma (Character Encoding Scheme), které zahrnuje způsob kódování znaků a způsob jejich serializace do sekvence bajtů. Základní kódování Unicode jsou: [126] => * UTF-8 [127] => * UTF-16 (UTF-16BE, UTF-16LE) [128] => * UTF-32 (UTF-32BE, UTF-32LE) [129] => * [[GB 18030|GB18030]] – čínský standard, není definováno v normě Unicode, ale je na Unicode vázané (znakový repertoár je shodný s Unicode) [130] => [131] => Kódování UTF-32, UTF-16 a UCS-2 mají každá své varianty podle používaného [[endianita|pořadí bajtů]]. Buď je napevno stanoveno pořadí little-endian, resp., big-endian, nebo se toto pořadí určuje podle tzv. ''[[byte order mark]]'' (BOM), speciální značky umístěné na začátku textu. [132] => [133] => ==== UTF-32 ==== [134] => V kódování [[UTF-32]] (též označováno jako UCS-4) je každý znak reprezentován přímo 32bitovým číslem. Jedná se tedy o principiálně velmi jednoduché kódování (jeho hlavní výhodou je stejná délka všech znaků), které však má poměrně vysoké nároky na paměť. Při serializaci do posloupnosti bajtů se podle endianity rozlišují varianty UTF-32BE (big-endian), UTF-32LE (little-endian) a UTF-32 (nestanoveno, může být určeno pomocí BOM). [135] => [136] => ==== UTF-16 ==== [137] => V kódování [[UTF-16]] se znaky [[#BMP|BMP]] reprezentují jedním 16bitovým číslem, znaky mimo BMP jsou reprezentovány párem 16bitových čísel (tzv. ''surrogate pair''). Pro ''surrogate pairs'' se používají čísla v rozsahu D80016–DFFF16, přičemž odpovídající znaky v BMP (U+D800 – U+DFFF) jsou rezervovány pro tento účel, nemohou se proto v původním textu vyskytnout. [138] => [139] => Podle endianity se rozlišují varianty UTF-16BE (big-endian), UTF-16LE (little-endian) a UTF-16 (nestanoveno, může být určeno pomocí BOM). UTF-16 je výrazně úspornější než UTF-32, ale ztrácí výhodu pevné šířky znaku – některé znaky jsou široké 2 bajty, některé 4. Přesto se jedná o kódování používané jako základní ve velkém množství [[operační systém|operačních systémů]] a dalšího softwaru (např. [[Microsoft Windows]], [[.NET Framework]] atd.). [140] => [141] => ==== UTF-8 ==== [142] => [[UTF-8]] kóduje znaky různě dlouhou (1–4 bajty, pro původní 31bitové [[ISO/IEC 10646]] až 6 bajtů) posloupností bajtů podle jejich [[kódový bod|kódu]] v Unicode. Znaky [[ASCII]] (U+0000 – U+007F) jsou kódovány jedním bajtem, identicky jako v ASCII, znaky v rozsahu U+0080 – U+07FF (kde jsou také všechny znaky s diakritikou používané v české abecedě) jsou kódovány dvěma bajty, znaky U+0800 – U+FFFF (kam patří znak Euro – € – U+20AC) jsou kódovány třemi bajty, znaky mimo BMP jsou kódovány čtyřmi bajty. Znaky s vyššími kódy podle původního návrhu [[ISO/IEC 10646]] by používaly pětibajtové a šestibajtové kódování. [143] => [144] => UTF-8 se často používá pro přenos dat, neboť je prostorově úsporné (hlavně pro texty psané latinkou s nevelkým počtem znaků s diakritikou, které obsahují většinu jednobajtových a zbytek dvoubajtových kódů; v nelatinkových písmech je většina textu tvořena dvoubajtovými kódy, písma [[Dálný východ|Dálného východu]] používají tříbajtové kódy), je odolné proti chybám a zpětně kompatibilní s ASCII. Při jeho zpracování je však nepříjemná nestejná délka znaků.''The Unicode Standard, Version 5.2'', kapitola 2.5 ''Encoding Forms'', s. 28 Je preferovaným kódováním v [[UN*X|unixových systémech]], které používají Unicode. [145] => [146] => Použití BOM jako příznaku endianity je u UTF-8 zbytečné (pořadí bajtů je jednoznačně určeno), BOM však může posloužit pro snadnou detekci, že se jedná o UTF-8. [147] => [148] => UTF-8 je popsané v ISO 10646-1:2000 Annex D a také v [[rfc:3629|RFC 3629]]. [149] => [150] => ==== UCS-2 ==== [151] => [[UCS-2]] kóduje každý znak z [[#BMP|BMP]] pomocí šestnáctibitového čísla; znaky mimo BMP nelze v UCS-2 reprezentovat, proto je UCS-2 omezená znaková sada, podobně jako ASCII. Při reprezentaci proudem oktetů (bajtů) má varianty big endian a little endian. Proud dat může být zahájen BOM. UCS-2 bylo vyřazeno ze standardu v roce 1996. Výhodou UCS-2 oproti UTF-8 nebo UTF-16 je konstantní délka znaku a snadné zjišťování počtu znaků v řetězci. Obsahuje-li text pouze znaky z BMP, je UCS-2 nerozlišitelné od UTF-16. [152] => [153] => ==== Další kódování ==== [154] => Z různých důvodů existují také další, méně často používaná, kódování, jako [[UTF-7]] či [[CESU-8]]. [155] => [156] => == Využití == [157] => [158] => === Operační systémy === [159] => Znakovou sadu Unicode používá většina moderních operačních systémů. Operační systémy [[Microsoft Windows]] používají pro vnitřní zápis znaků (např. jména souborů a adresářů v [[NTFS]]) od [[Windows 2000]] kódování UTF-16, avšak zároveň se v české mutaci používá kódování [[Windows-1250|CP1250]] (historicky) a [[CP852]] (v příkazovém řádku). [160] => [161] => Většina [[Linuxová distribuce|distribucí Linuxu]] používá buď rovnou [[UTF-8]] nebo umožňuje jeho ruční nastavení. [162] => [163] => === Aplikace === [164] => Některé starší aplikace Unicode (dosud) nepodporují. Na druhé straně pro některé systémy je Unicode již jedinou používanou znakovou sadou. Programovací jazyky [[Java (programovací jazyk)|Java]] a jazyky podporující [[Common Language Infrastructure]] (např. [[C Sharp|C#]]) vnitřně používají šestnáctibitovou verzi Unicode a navenek podporují mnoho různých kódování. Též [[Systém řízení báze dat|systémy řízení báze dat]] dnes již často používají Unicode pro uložení znakových údajů. Na Unicode je založen kancelářský balík [[Microsoft Office]] od verze 97. [165] => [166] => === Web === [167] => Unicode je znakovou sadou pro [[HyperText Markup Language|HTML]] dokumenty od verze 4.0 a pro všechny [[Extensible Markup Language|XML]] dokumenty. Výchozím kódováním je [[UTF-8]], které všechny prohlížeče podporují už delší dobu. [168] => [169] => === Čeština === [170] => Na rozdíl od dřívějších osmibitových tabulek znaků jako je [[Kód Kamenických|bratří Kamenických]], [[Latin 2]], [[Windows-1250]] či [[ISO-8859-2]] lze všechny znaky zobrazit zároveň; v jednom textu lze tedy kombinovat např. [[Čeština|češtinu]] ([[latinka]]), [[Ruština|ruštinu]] ([[cyrilice]]) a [[Řečtina|řečtinu]] ([[alfabeta]]). Pro reprezentaci českých znaků existují dva způsoby. Buď lze použít "předkomponovaný" (precomposed) znak, tedy např. pro dlouhé A kód U+00C1, nebo je možné tento znak složit jako sekvneci . Tedy ze znaku A (kód U+0041) a znaku COMBINING ACUTE ACCENT (kombinační dlouhý přízvuk, kód U+0301). Kombinační diakritický znak se vkládá za znak, který modifikuje. Z toho vyplývají možné problémy při porovnávání řetězců, tzn. řetězce je třeba před porovnáváním normalizovat. [171] => [172] => Základní formy normalizace jsou: NFD (kanonická dekompozice), NFC (kanonická kompozice), NFKD (kompatibilní dekompozice), NFKC (kompatibilní kompozice). Více viz přílohu [http://unicode.org/reports/tr15/ Unicode Normalization Forms] standardu Unicode. [173] => [174] => ==== Tabulka českých znaků Unicode ==== [175] => {| class="wikitable" [176] => !znak [177] => ![[HTML entita]] [178] => !dec [179] => ![[Šestnáctková soustava|hex]] [180] => !UTF-8 v [[Uniform Resource Locator|URL]] [181] => !znak [182] => ![[HTML entita]] [183] => !dec [184] => ![[Šestnáctková soustava|hex]] [185] => !UTF-8 v [[Uniform Resource Locator|URL]] [186] => |- [187] => |'''Á'''||Á||193||U+00C1||%C3%81 [188] => |'''á'''||á||225||U+00E1||%C3%A1 [189] => |- [190] => |'''Č'''||Č||268||U+010C||%C4%8C [191] => |'''č'''||č||269||U+010D||%C4%8D [192] => |- [193] => |'''Ď'''||Ď||270||U+010E||%C4%8E [194] => |'''ď'''||ď||271||U+010F||%C4%8F [195] => |- [196] => |'''É'''||É||201||U+00C9||%C3%89 [197] => |'''é'''||é||233||U+00E9||%C3%A9 [198] => |- [199] => |'''Ě'''||Ě||282||U+011A||%C4%9A [200] => |'''ě'''||ě||283||U+011B||%C4%9B [201] => |- [202] => |'''Í'''||Í||205||U+00CD||%C3%8D [203] => |'''í'''||í||237||U+00ED||%C3%AD [204] => |- [205] => |'''Ň'''||Ň||327||U+0147||%C5%87 [206] => |'''ň'''||ň||328||U+0148||%C5%88 [207] => |- [208] => |'''Ó'''||Ó||211||U+00D3||%C3%93 [209] => |'''ó'''||ó||243||U+00F3||%C3%B3 [210] => |- [211] => |'''Ř'''||Ř||344||U+0158||%C5%98 [212] => |'''ř'''||ř||345||U+0159||%C5%99 [213] => |- [214] => |'''Š'''||Š||352||U+0160||%C5%A0 [215] => |'''š'''||š||353||U+0161||%C5%A1 [216] => |- [217] => |'''Ť'''||Ť||356||U+0164||%C5%A4 [218] => |'''ť'''||ť||357||U+0165||%C5%A5 [219] => |- [220] => |'''Ú'''||Ú||218||U+00DA||%C3%9A [221] => |'''ú'''||ú||250||U+00FA||%C3%BA [222] => |- [223] => |'''Ů'''||Ů||366||U+016E||%C5%AE [224] => |'''ů'''||ů||367||U+016F||%C5%AF [225] => |- [226] => |'''Ý'''||Ý||221||U+00DD||%C3%9D [227] => |'''ý'''||ý||253||U+00FD||%C3%BD [228] => |- [229] => |'''Ž'''||Ž||381||U+017D||%C5%BD [230] => |'''ž'''||ž||382||U+017E||%C5%BE [231] => |- [232] => |} [233] => '''Tabulka českých diakritických znamének'''{{Poznámka|Diakritická znaménka uvedená v tabulce, vystupující samostatně, mají kódy jiné.}} [234] => {| class="wikitable" [235] => !Znak [236] => !Unicode jméno [237] => !České jméno [238] => !Kód [239] => |- [240] => |´ [241] => |COMBINING ACUTE ACCENT [242] => |čárka nad písmenem [243] => |U+0301 [244] => |- [245] => |ˇ [246] => |COMBINING CARON [247] => |háček [248] => |U+030C [249] => |- [250] => |˚ [251] => |COMBINING RING ABOVE [252] => |kroužek [253] => |U+030A [254] => |} [255] => [256] => == Odkazy == [257] => === Poznámky === [258] => {{Poznámky}} [259] => [260] => === Reference === [261] => {{Překlad|en|Unicode|678771760}} [262] => [263] => === Literatura === [264] => * The Unicode Consortium: [http://www.unicode.org/versions/Unicode5.2.0/ The Unicode Standard, Version 5.2.0.] Mountain View, CA: The Unicode Consortium, 2009. {{ISBN|978-1-936213-00-9}}. Poslední tištěná verze Unicode standardu. [265] => [266] => === Externí odkazy === [267] => * {{Commonscat}} [268] => * {{TDKIV}} [269] => * [https://home.unicode.org/ unicode.org] – oficiální stránky (anglicky) [270] => * [https://decodeunicode.org/ DecodeUnicode] – Unicode wiki (anglicky, německy) [271] => * [https://symbl.cc/ Tabulka znaků Unicode] (anglicky) [272] => [273] => {{Seznam písemných systémů}} [274] => [275] => {{Autoritní data}} [276] => [277] => [[Kategorie:Unicode| ]] [278] => [[Kategorie:Kódování znaků]] [] => )
good wiki

Unicode

Logo Unicode konsorcia Unicode je technická norma pro oblast výpočetní techniky definující jednotnou znakovou sadu a konzistentní kódování znaků pro reprezentaci a zpracovávání textů použitelné pro většinu písem používaných v současnosti na Zemi. Unicode je vyvíjen v součinnosti s ISO/IEC 10646 a je publikován elektronicky jako The Unicode Standard.

More about us

About

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.