webdesign, webhosting, software, sítě, databáze
Každý problém má své řešení.

Aktuality

Odborná konference Common 2012 (14.5.2012)

Každoroční odborná konference Common ČR a Common SR se letos bude konat ve dnech 3. – 5. června v Hotelu Rustikal v Horní Cerekvi. Kromě mnoha jiných zajímavých přednášek zde můžete zhlédnout a vyposlechnout si i přednášky Lukáše Jelínka: Opa – nový přístup k vývoji webových aplikacíSieve – otevřený standard pro zpracování příchozí pošty.

Konference OSEPA Jihlava 2012 (17.3.2012)

Ve dnech 28.–29. března 2012 se v Jihlavě koná mezinárodní konference Open Source v evropské veřejné správě (součást projektu OSEPA). Součástí konference je i workshop, který se koná 26. a 27. 3. v pražském Hotelu ADRIA. Lukáš Jelínek na workshopu vystoupí se svým příspěvkem Benefits of Using OSS Licenses in Public Administration.

další články ze sekce Aktuality...

Doporučujeme

PROGRAM NA TVORBU KALENDÁŘŮ,
FOTOKNIH A DÁRKŮ

Lepor Designer

Stahujte zde!


Firemní blog

Otázky a odpovědi: síťové minimum (22.3.2012)

Propojení počítačů do sítě přináší má (oproti samostatným strojům) mnoho výhod. Nejlépe samozřejmě poslouží odborně navržená a důsledně spravovaná síť - ať už je jakékoli velikosti. Přesto je mnoho zájemců o vybudování sítě, kteří se do toho chtějí pustit sami. Nechť jim tyto zodpovězené otázky poslouží pro základní orientaci.

openMagazin 02/2012 (21.2.2012)

Nevíte, jak nainstalovat elektronický podpis nebo změnit výchozí šablonu? Máme pro vás únorový openMagazin s tématem „kancelář“.

další články ze sekce Firemní blog...

Proč používám UTF-8

Problém, jak řešit zakódování národně specifických znaků, se ve výpočetní technice řešil již od dřevních dob (přesněji řečeno od okamžiku, kdy chtěl někdo používat něco víc než holé anglickou abecedu). Pro české znaky se v historii používala mnohá kódování, každé mělo nějaké výhody a nevýhody (na legendární kódování bratří Kamenických si ještě leckdo vzpomene, občas ho ještě někdo použije i dnes). Po postupném vystřídání všeho možného jsem zjistil, že je nejvýhodnější používat UTF-8.

Pominu-li zmiňované bratry Kamenické a různé pokusy o národní kódování (říkám pokusy, protože třeba kódování KOI8ČS se neujalo, přestože bylo určeno ČSN jako "jediné správné"), stejně tak jako používání proprietárních kódových stránek, za první skutečně významný krok lze považovat zavedení skupiny kódování podle normy ISO 8859. Znaky české abecedy jsou součástí ISO 8859-2 (což asi každý ví), proto bylo (a stále je) naprosto běžné používat tuto sadu.

Protože přepínání kódových stránek se změnou jazyka je věc dost nepříjemná, objevil se fenomen zvaný Unicode - systém, který umožňuje snadnou práci s libovolným počtem národních abeced současně. Snaha o normalizaci tohoto systému vyústila v normu ISO/IEC 10646, která pokrývá hlavní část tohoto systému (a do budoucna se plánuje pokrytí celého standardu).

Unicode si samozřejmě nevystačí s jedním bajtem pro každý znak. Nejobvykleji se každý znak ukládá dvoubajtově (UCS-2), lze použít i čtyřbajtovou reprezentaci (UCS-4). Tyto reprezentace se hodí hlavně pro vnitřní uložení v paměti, pro ukládání dat a jejich přenos jsou vhodnější tzv. transformační formáty (UTF). Jsou v zásadě tři: UTF-8, UTF-16 a UTF-32 (u dvou posledních se rozlišují ještě varianty podle pořadí bajtů). Formát UTF-8 zakódovává každý Unicode znak jako osmibitové hodnoty, a to tak, že podle potřeby (resp. podle hodnoty) používá 1-4 bajty.

Právě UTF-8 jsem si v poslední době velmi oblíbil, zjistil jsem totiž, že mi přináší téměř samé výhody:

  • Odpadají problémy s "cizími" znaky. Někdy je potřeba v textu použít, byť třeba jen jediný, znak nepatřící do běžné národní abecedy. Co s tím? Při použití běžného osmibitového kódování to většinou vede na použití znaku co nejpodobnějšího, ale stejně to není ono. UTF-8 to hravě vyřeší.
  • Více jazyků pohromadě - žádný problém. Stalo se mi, že jsem musel použít na jedné webové stránce pohromadě třeba češtinu a ruštinu (nebo dokonce i hebrejštinu, ale to už je extrém). S UTF-8 je to absolutně bez problémů, "klasická" kódování žádné řešení nenabízejí (různé jazyky dokonce nelze použít ani v různých rámech, jakkoli jsou rámy zvěrstvo největší).
  • Není třeba řešit platformy. Kdo pracuje na stejných souborech ve více systémech, má určitý problém s kódováním. Když si jako základ určí třeba ISO 8859-2, ve Windows ho editor klidně otevře jako CP1250 (nebo to může člověk udělat omylem ručně) a na guláš je zaděláno. To se s UTF-8 nestane, automatická detekce ho většinou rozpozná bez problémů, a při ručním otvírání si člověk hned všimne, pokud by kódování vybral špatně.
  • ASCII projde transparentně. Protože hodnoty do 127 (tedy 7 bitů) se do UTF-8 ukládají jednobajtově, jsou čisté ASCII texty zpracovávány zcela transparentně. To je výhoda oproti jiným reprezentacím Unicode, a to výhoda dost podstatná.
  • Default na RedHat / Fedora Core. Tohle už je poměrně specifická věc, ale pro mě má význam. Protože už dlouhodobě používám GNU/Linux právě z těchto distribucí, obecně jsem si zvykl používat UTF-8, mimo jiné právě proto, že je to zde výchozí kódování.

Samozřejmě, že UTF-8 má i své nevýhody. Texty zabírají více místa, ne všechny programy s nimi umí správně pracovat (hlavně ty starší), jsou hůře čitelné v ASCII reprezentaci, pro výměnu dat s jinými lidmi (kteří UTF-8 zatím nepoužívají) je nutná konverze apod. Ale výhody jednoznačně převažují, proto je pro mě UTF-8 dobrou volbou.


Článek byl původně napsán pro blog na serveru ABC Linuxu.

Zpět do sekce Firemní blog


AIKEN s.r.o.
Lorecká 465, 284 01 Kutná Hora
tel. 312 312 413, mobil 606 362 315
www.aiken.cz, aiken@aiken.cz

GEO: 049.95426, 015.27013