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

Názor ke zprávičce Změna plánu ve vývoji PHP 6

David Grudl aura:47
16. 3. 2010 11:05

Re: Tak to je jasné

celé vlákno

(Jakmile někdo v komentářích používá obraty jako „doporučuji si nastudovat“, je s argumenty na štíru, což je samozřejmě i tento případ)

Co znamená „V UTF-8 je možnost vytvoření neplatných sekvencí?“ Nic takového UTF-8 „neumožňuje“. To, že záměrně poškodím data vložením neplatných binárních znaků, není něco, co by mi formát „umožňoval“, a že tím data poškodím, je zcela přirozené. Stejně tak poškodím i data v jakémkoliv jiném kódování včetně UTF-32 nebo CP1250.

UTF-8 naopak umožňuje se z takové chyby hned u následujícího znaku zotavit. Tedy nic se nerozesere, ba právě naopak!

V UTF-32 samozřejmě lze vyrobit také špatnou sekvenci bitů (dokonce i v ISO-8859–2). A není to v případě UTF-32 o tom, že bych se trefil do momentálně nedefinovaného znaku, ale že se trefím do znaku mimo povolený rozsah.

Mize „momentálně nedefinovaný znak“ a „znak mimo rozsah“ je zcela zásadní rozdíl.


pod čarou: z prvního komentáře se zdálo, že jste netušíte, že UTF-16 adresuje plný Unicode prostor, viz zmínky o problémech s japonštinou nebo nedostatkem znaků. Skutečně tomu tak bylo nebo jste se jen nešťastně vyjádřil?