Hlavní navigace

Názor ke zprávičce Textové soubory na různých operačních systémech od Lael Ophir - Současnou verzi Notepadu jsem nezkoušel, ale ve Win2K...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 26. 7. 2008 15:53

    Lael Ophir (neregistrovaný)
    Současnou verzi Notepadu jsem nezkoušel, ale ve Win2K i XP se mi UTF-8 soubory pravidelně otevíraly, jako by byly v ANSI 1250, pokud neměly BOM. Notepad je jednou z aplikací, které když textu chybí BOM ještě navíc odhadují, jestli nejde o UTF-16. Dělají to právě z toho důvodu, že ne každý editor přidá na začátek souboru BOM.

    Unicode je 24-bit kódování, a i jeho rozšíření z 16 na 24 bitů se řada asiatů brání (po zkušenostech s CJK code pages). A samozřejmě UTF-16 umí přenést všech 24 bitů; nelžete nám tum, přijde se na to :)

    O problémech unixů s Unicode se tu vedly dlouhé diskuze. Jako krátkou rekapitulaci si dovolím konstatovat, že unixy Unicode vlastně nepodporují, a jen přes 30 let staré API cpou UTF-8 místo znaků v code page. To vede k zábavným situacím, kdy se různě míchají data v různých code pages, například názvy souborů na disku. Ještě větší sranda je to, že některé frameworky (třeba Qt a Java) pracují v UTF-16, veškeré stringy před voláním převádějí do UTF-8, a po návratu zase do UTF-16. K tomu přičtěte pomíchaná data v různém kódování (třeba názvy souborů na FS), takže převod do UTF-16 někdy ani nelze provést... Takhle to dopadá, když se na začátku řekne "zkusíme to nějak zflikovat, hlavně ať to nestojí moc práce".

    Vim možná pozná BOM, dobře tak. Jen by bylo dobré, kdyby vim, vi, ed a řada dalších psaly BOM vždy, když je text v Unicode.