Avatar
Pavel
Člen
Avatar
Pavel:22. května 18:27

Ahoj, poradíte mi někdo, jak spravit to, že mi metoda File.ReadAllLines() vrací pole stringů bez diakritiky
(židle=>?idle)?

 
Odpovědět 22. května 18:27
Avatar
Andy Scheuchzer:22. května 18:43

To bude kódování. Jestli to máš .txt, v uložit jako zkus dát něco jiného (unicode, UTF-8), výchozí je tam ANSI, C# má UTF-8, ale to asi víš.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 22. května 18:43
Od ASM úroveň jazyků pouze klesá…
Avatar
HONZ4
Člen
Avatar
Odpovídá na Pavel
HONZ4:22. května 19:22

Udělej to takto:

static string LoadFromFile(string filename)
        {   // using System.IO;
            using (StreamReader r = new StreamReader(filename, Encoding.Default, true))
            {
                return r.ReadToEnd();
            }
        }

Kódování si to zjistí samo. A nebudeš muset řešit BOM.

Použití:

string str = LoadFromFile("C:\\cesta_k_souboru\\soubor.txt");
Editováno 22. května 19:23
 
Nahoru Odpovědět  +2 22. května 19:22
Avatar
Odpovídá na HONZ4
Andy Scheuchzer:22. května 19:30

Tak jsem se zase něco dozvěděl… Díky, i když jsem se neptal zrovna já. :-)

Editováno 22. května 19:31
Nahoru Odpovědět  +1 22. května 19:30
Od ASM úroveň jazyků pouze klesá…
Avatar
HONZ4
Člen
Avatar
HONZ4:22. května 19:47

Samozřejmě je nutné, aby byl na začátku souboru BOM identifikátor (tedy pokud jde o něco jiného než ANSI). A pokud je potřeba načíst soubor jako string[] tak načíst do stringu a pak jej rozdělit pomocí Split podle chuti.

Editováno 22. května 19:49
 
Nahoru Odpovědět 22. května 19:47
Avatar
Pavel
Člen
Avatar
Pavel:22. května 22:29

Všem moc děkuji za reakce! Změnil jsem kódování a vše běží jak má :)

 
Nahoru Odpovědět 22. května 22:29
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.