Hlavní navigace

Názor ke zprávičce Změna plánu ve vývoji PHP 6 od David Grudl - (Jakmile někdo v komentářích používá obraty jako „doporučuji si...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 16. 3. 2010 11:05

    David Grudl

    (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?