Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia Tuesday TopDrive KupDnes Navrcholu Bomba NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Odpověď na názor

Odpovídáte na názor ke zprávičce Změna plánu ve vývoji PHP 6.

Miloslav Ponkrác aura:58
16. 3. 2010 12:37

Re: Tak to je jasné

celé vlákno

Pokud mám srovnat UCS4 (často tu hovoříme o UTF-32, ale vnitřně v programech se to stejně realizuje jako pole 32bitových hodnot) a UTF-16, pak je UCS4 obrovská výhra.

Manipulace s UTF-8 a UTF-16 je komplikovaná a složitá, a v zásadě stejně se převádí při všech algoritmech vnitřně na 32bitový znak. To se nedá popřít.

Jinak Vaší filozofií (nic proti ní, nekritizuji) je šetřit každým bajtíkem i za cenu, že nad tím strávíte tisíc hodin práce navíc. Nicméně úspora, kterou uděláte ve velikosti paměti při zavedení UTF-8, nebo UTF-16 namísto UCS4 je zanedbatelná, zato poměrně dosti zvednete zátěž cpu. V běžném PHP skriptu určitě neušetříte více, než pár desítek kilobajtů tím, že nahradíte UCS4 něčím méně rozumným. S tím, že podstatně znásobíte počet problémů.

Normalizace není potřeba zvažovat, pokud se bavíme o ukládání řetězců. Navíc jste taktně nezmínil, že jak UTF-8, tak UTF-16, tak UCS4 musí řešit všechny normalizaci. Protože normalizace není a nikterak nesouvisí s kódováním Unicode, ale je vlastností Unicode samotného. Tudíž při rozhodování ohledně UCS4, nebo UTF-8, nebo UTF-16, je to off topic téma. Normalizaci budete řešit vždy, když použijete Unicode, a to bez ohledu na použité kódování.

Pokud je Vaší prioritou ušetřit několi desítek KB za každou cenu, pak máte pravdu. Ale obávám se, že nevýhody by silně převážily. Máte pravdu, záleží na kritériu, které si dáme. UTF-8 a UTF-16 je úspornější (o ty desítky, max. stovky KB v běžném skriptu), než UCS4, zato přináší takové problémy, že o ně tvůrci programů obvykle nestojí. Zejména UTF-16 je silně znouze ctnost.

V UTF-8 zase česká abeceda vychází kratší, ale třeba asijský text mnohdy značně delší, než v UCS4. Vyberte si.

   
Chcete přispět jako registrovaný uživatel? Přihlaste se ke svému účtu.
Ochrana proti spamovacím robotům. Odpovězte prosím na následující otázku: Jaký je letos rok?
 

Pravidla pro diskutující

Přidáním čtenářského příspěvku do diskusí či fóra souhlasíte s tím, že budete dodržovat následující pravidla. Při jejich hrubém porušení se vystavujete riziku smazání příspěvku, jeho modifikaci, v krajním případě i zablokování přístupu do diskusí.

Redakce ze zásady nezasahuje do čtenářských diskusí a zavazuje se, že nebude mazat ani modifikovat příspěvky, kromě případů, kdy tyto porušují některé z následujících pravidel. V takové situaci je na zvážení redakce, zda příspěvek modifikuje s viditelným upozorněním, či přímo smaže. Redakce nikdy nemaže „nesouhlasné komentáře“ jen proto, že jsou nesouhlasné. Vítáme střet názorů, ale vždy v rámci slušné a kultivované debaty.

Příspěvky nesmí obsahovat:

  1. Vulgární či hrubé výrazy.
  2. Urážlivé výroky na adresu druhé osoby či skupiny osob.
  3. Texty, které mají za cíl jen vyprovokovat emotivní reakci (trolling).
  4. Rasové útoky či útoky na jakoukoliv jinou menšinu či skupinu obyvatel.
  5. Komerční nabídky a affiliate odkazy.
  6. Odkazy na warez, sériová čísla, licenční kódy, pornografii a další nevhodný materiál stejně jako žádosti o poskytnutí tohoto obsahu.
  7. Prokazatelně protiprávní obsah.

Informace o soukromí: U všech přidaných komentářů provozovatel ukládá IP adresu a hostname odesílatele. U neregistrovaných uživatelů se na webu zobrazuje část hostname, případně IP adresy, neumožňující identifikovat konkrétní počítač.

Povolené značky XHTML: a, br, code, em, li, ol, p, pre, strong, sub, sup, ul