Háčky a čárky v názvech adresářů a souborů

Miroslav Šilhavý

Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #15 kdy: 17. 08. 2017, 13:55:35 »
jiste ... psal si nekdy ve widlich script? Treba takovou blbost jako kopii z jednoho folderu do druhyho? A jak ze to to ten nodepad s tema nabodenickama ulozi? Nojooo ... windows-1250 ...  a zkusil si to pak i zpusit? Z commandline? Jo? A fungovalo to? Tezko vid... kdyz tam ti widle vracej cp852.

Jeste vetsi legrace to je, kdyz napises binarku ... protoze tam musis pocitat s tim, ze to bude spousteny ruznejma zpusobama ... a podle toho ti to bude vrace ruzny vysledky. Fakt parada.

Ano, to máte pravdu, ale filesystem a knihovny na to připravené byly. Pojďme uhasit flame, to byla reakce na Frantu a jeho narážku na moderní operační systém. V devadesátých jsem scriptoval jak ve Windows, tak v Linuxu, a obojí mělo své. Asi už jsem moc senilní, ale neumím rozlišit, co z toho bych měl považovat za moderní systém... Snad jedině z toho, co jsem v té době poznal můžu vyřadit VAX/VMS, který, jestli se pamatuju, UTF nepodporoval vůbec.


macík ruby terminál

Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #16 kdy: 17. 08. 2017, 14:37:03 »
Mám problém v irb v ruby v terminálu na Mac OS X. když chci napsat třeb ů, tak mi to napíše \U+FFC5\U+FFAF. Co to sakra je? to ani není UTF32. Dělá to u ů a ť  a dalších(2x U+), u jiných to dělá "jen" 1xU+ :(č,ř) Navíc, v uvozovkách se to vyhodnotí jako nic:
irb(main):009:0> '\U+FFC5\U+FFAF'
=> ""

Takže adresáře mi to přečte dobře  (` Dir.open("Downloads").entries`), ale už s nimi nejde pracovat.
Proč to má takovéhle haluze při zpracování písmen?

PetrM

Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #17 kdy: 17. 08. 2017, 15:01:02 »
Mám problém v irb v ruby v terminálu na Mac OS X. když chci napsat třeb ů, tak mi to napíše \U+FFC5\U+FFAF. Co to sakra je? to ani není UTF32. Dělá to u ů a ť  a dalších(2x U+), u jiných to dělá "jen" 1xU+ :(č,ř) Navíc, v uvozovkách se to vyhodnotí jako nic:
irb(main):009:0> '\U+FFC5\U+FFAF'
=> ""

Takže adresáře mi to přečte dobře  (` Dir.open("Downloads").entries`), ale už s nimi nejde pracovat.
Proč to má takovéhle haluze při zpracování písmen?

Prostě v tom fontu, co používá terminál, nejsou ty konkrétní znaky, tak to místo nich vyhazuje náhradu. Vyměň font.
Jinak to samozřejmě není UTF32, je to UTF8. To funguje trochu jinak, je tam pro znaky mimo ASCII sekvence dvou nebo několika bytů, který spojí plusem. A v těch uvozovkách to nebere jako kód znaku, ale jako řetězec.

x14

  • ***
  • 182
    • Zobrazit profil
    • E-mail
Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #18 kdy: 17. 08. 2017, 15:08:23 »
Notepad to uloží tak, jak si to zvolíš. Já bych volil Unicode.
A že autodetekce kódování může selhat, je možná úsměvné, ale žádná tragedie to není. Dá se to zvolit ručně.
Mimochodem - on ten notepad fakt někdo používá?  ;)

Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #19 kdy: 17. 08. 2017, 15:10:30 »
A že autodetekce kódování může selhat, je možná úsměvné, ale žádná tragedie to není. Dá se to zvolit ručně.
Když se program tváří, že něco umí a ve skutečnosti to tragickým způsobem neumí, tak to není úsměvné, ale je to osina v (_|_), jako ostatně polovina věcí na Windows.


x14

  • ***
  • 182
    • Zobrazit profil
    • E-mail
Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #20 kdy: 17. 08. 2017, 15:31:03 »
Když se program tváří, že něco umí a ve skutečnosti to tragickým způsobem neumí, tak to není úsměvné, ale je to osina v (_|_), jako ostatně polovina věcí na Windows.
Určitě tu nechci hájit kvalitu woken, ale toto je úplně zbytečný flame.
Tuhle kravinu opravili před více než deseti lety...

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #21 kdy: 17. 08. 2017, 16:30:27 »
Určitě tu nechci hájit kvalitu woken, ale toto je úplně zbytečný flame.
Tuhle kravinu opravili před více než deseti lety...

Opravili a neopravili. Podle odkazu nekde vyse zmenili v Notepadu metodu detekce kodovani, ale neopravili knihovnu, kterou drive Notepad k detekci pouzival. Vysledkem je, ze v Notepadu to chodi, ale SW, ktery pouziva tu knihovnu, je na problem stale nachylny.

x14

  • ***
  • 182
    • Zobrazit profil
    • E-mail
Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #22 kdy: 17. 08. 2017, 17:51:30 »
Opravili a neopravili. Podle odkazu nekde vyse zmenili v Notepadu metodu detekce kodovani, ale neopravili knihovnu, kterou drive Notepad k detekci pouzival. Vysledkem je, ze v Notepadu to chodi, ale SW, ktery pouziva tu knihovnu, je na problem stale nachylny.
Řeč byla o tak zásadní komponentě voken jako je Notepad  :D
Ano, heuristika se může splést, dokumentace k tomu říká jasně "These tests are not foolproof." Ale k tomu snad ani není třeba vzdělání nebo inteligence, aby to člověk pochopil :)

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #23 kdy: 17. 08. 2017, 18:07:55 »
Řeč byla o tak zásadní komponentě voken jako je Notepad  :D

To je mozne, nicmene spravnou cestou je oprava tak zasadni komponenty, jako je systemova knihovna. Urcite ne dalsi widlacky workaround v SW, ktery na te knihovne stavi.

x14

  • ***
  • 182
    • Zobrazit profil
    • E-mail
Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #24 kdy: 17. 08. 2017, 18:35:57 »
To je mozne, nicmene spravnou cestou je oprava tak zasadni komponenty, jako je systemova knihovna. Urcite ne dalsi widlacky workaround v SW, ktery na te knihovne stavi.
Notepad - software, který staví na knihovně advapi32.dll :) :) :)
Začíná to tu být čím dál zábavnější.  ;)
Asi by nebyl problém to vylepšit, stačilo by upravit statistiky. S takhle malým vzorkem textu bude ale vždycky problém, není tam ani odřádkování.
Nevím, proč to nevylepší, možná drží zpětnou kompatibilitu. Ale spíš jim to je jedno. Je to okrajová funkce, pochybuji, že ji někdo soudný používá.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #25 kdy: 17. 08. 2017, 19:05:55 »
Je to okrajová funkce, pochybuji, že ji někdo soudný používá.

To je mozne, ale potiz je v tom, ze se nejedna o pristup k opravam chyb, ktery by byl spise vyjimecny. Oni chyby radsi prohlasi za ficuru a nechaji. Mozna proto, ze by se pak posralo hafo SW, ktere jiz maji implementovane vselijake uchylne workaroundy.

macík ruby terminál

Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #26 kdy: 17. 08. 2017, 20:15:01 »
ů, tak mi to napíše \U+FFC5\U+FFAF.

Prostě v tom fontu, co používá terminál, nejsou ty konkrétní znaky, tak to místo nich vyhazuje náhradu.
EE. Problém výše je POUZE v irb. Normálně v terminálu bez problémů (v pythonu taky), jdou vypisovat i vkládat v pohodě ščť...., dokonce i příkaz ruby funguje OK:
 user$ ruby -e 'print "\xC3\xA1á" =>> vypíše áá

Problém je tedy vstup - po stisku klávesy á (písmeno v UTF-8 je C3 A1) se zobrazí  \U+FFC3\U+FFA1 -> a dokonce backspace se chová jinak, protože nemaže po znacích ( U,+,F,F,C,3,\,U,+,F,F,A,1,). ale po těch Učkách" ( \U+FFC3,\U+FFA1)
, tedy irb musí nějak motat kódování. ale vypisovat umí správně, pokud "nějak vstup dostane")

tisnik

Re:Háčky a čárky v názvech adresářů a souborů
« Odpověď #27 kdy: 17. 08. 2017, 20:28:56 »
Nastoupil jsem k novému zaměstnavateli a místní IT toto pravidlo vynucuje - nikde jsem doposud toto nezažil...

Muze to byt (krome problemu, o kterych se zminuji predrecnici) taky proto, aby ten soubor bez problemu zpracoval kolega ze zahranici. Ja vim, neni problem napriklad dostat soubor s azbukou (cyrilici) v nazvu, ale jsem si docela jisty, ze budou problemy napriklad pri vyhledavani atd. (tedy ja bych je mel :p a to azbuku umim)