Hlavní navigace

Názor k článku Jan Jirkovský: pro indie vývojáře je nejvýhodnější vyvíjet multiplatformně od Lael Ophir - FAT ukládá dlouhé názvy vždy v Unicode UTF-16....

  • Článek je starý, nové názory již nelze přidávat.
  • 1. 10. 2012 3:40

    Lael Ophir (neregistrovaný)

    FAT ukládá dlouhé názvy vždy v Unicode UTF-16. Totéž NTFS.

    Windows 9x používaly API s 8-bitovými chary, a názvev funkce končil na A (například TextOutA). Kódová stránka byla vždy ANSI podle jazykové mutace. Ve střední Evropě šlo o ANSI 1250. Vyjma toho měly Win9x pár funkcí pro práci s Unicode. A samozřejmě pro kompatibilitu se světem DOSu tam bylo i pár funkcí pracujících s OEM code page (u nás CP 852).
    Ano, Microsoft Layer for Unicode, uvedený v roce 2001, umožňoval běh Unicode aplikací na Windows 9x. Do té doby bylo možné psát aplikaci pomocí maker, které expandovaly na ANSI verzi při kompilaci pro Win9x, a na Unicode verzi při kompilaci pro NT. Dost vývojářů to ale nepobralo :)

    Windows NT jsou Unicodové od první verze. Veškeré API používá 16-bitové wchary, jména funkcí končí na W (TextOutW). Pro zpětnou kompatibilitu s Windows 9x umí systém i "ANSI" funkce s A na konci, například TextOutA. Volání takových funkcí se překládá do Unicode, a výsledky volání se pak překládají zpátky do ANSI. Tu ANSI kódovou stránku lze nastavit, ve Windows XP stejně jako ve Windows 7. To asi bude to vaše "v XP byla stejně standardně používána Windows-1250". Ano, byla, ale jen pro ne-Unicodové programy.
    Vyjma toho umí Windows NT samozřejmě zpracovat i jiné kódové stránky, pokud máte nainstalovanou jejich podporu (konverzní tabulky do/z Unicode).