Hlavní navigace

Názor k článku Ovládanie hlasom pre mikrokontroléry od jinej muf - Môže sa stať, že pri čítaní slova "Čau"...

  • Článek je starý, nové názory již nelze přidávat.
  • 23. 8. 2018 22:42

    jinej muf (neregistrovaný) ---.cust.nbox.cz

    Môže sa stať, že pri čítaní slova "Čau" z textového súboru ho prečíta ako "ÄŚau" či "?au".

    Podstatné už bylo řečeno, jen bych rád autorovi ještě vysvětlil, jak funguje ten problém s diakritikou v souborech... Je to častý problém nepochopení principů znakových sad u Arduino začátečníků.

    Mikroprocesor nemá obvykle žádný OS a jako takový ani nepoužívá žádnou konkrétní znakovou sadu. Zato programátor, který píše kód už v nějakém konkrétním jazyce ví, jestli používá v daném jazyce 8bitové znakové funkce a datové typy nebo vícebitové. Něco jako char oproti wchar (wide-char) apod. To souvisí také s tím, jaká znaková sada je nastavená v editoru, kde člověk píše kód, protože pak se znakové/řetězcové konstanty do čipu ukládají právě s číselnými hodnotami odpovídajícími zvolené sadě. Problém "ÄŚau" nastává tehdy, když text byl uložen vícebytovým kódováním (např. UTF-8), ale je interpretován (nikoliv čten, ale zobrazen např. na seriové lince se špatně nastaveným kódováním) pomocí 1bytové (např. ve Widlích oblíbené Win1250). Druhá varianta je prostě jen interpretování přes špatnou tabulku se stejnou velikostí znaku (např. problém Win1250 vs. Latin2 - tady zrovna ne, protože Č je tam kódováno stejně).

    Pak samozřejmě záleží také na tom, jakou znakovou sadu používá třeba terminál na seriovou linku nebo třeba displej či font. Mikroprocesor totiž nečte "paznaky". Čte prostě čísla odpovídající znakové sadě, ve které si to člověk uložil...

    Je fajn, že se aspoň někdo snaží napsat tu něco zajímavého. Nicméně redakční rada by měla mít dost soudnosti nepustit ven amatérismus plný začátečnických nedostatků a s neodpovídajícím téměř bulvárním nadpisem...