Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] streamreader e carattere 176
Forum - C# / VB.NET - [VB.NET] streamreader e carattere 176

Avatar
enox (Normal User)
Rookie


Messaggi: 39
Iscritto: 11/06/2009

Segnala al moderatore
Postato alle 16:27
Giovedì, 01/07/2010
Dopo aver istanziato uno streamreader, leggo un file di testo generato da un AS400 utilizzando il metodo .readline. Il file è ASCII e viene visualizzato correttamente dall'applicazione "Blocco Note" di Windows.

Problema: se nel testo è presente il carattere 176 (il segno di "grado"), .readline, senza dire nulla... lo salta. Nessun errore, nessun commento, nessun avviso: semplicemente lo ignora, dando una riga di un carattere in meno rispetto a ciò che dovrebbe essere. I risultati sono ovviamente drammatici.

Dato che il carattere 176 è tranquillamente disponibile sulla tastiera di tutti i PC, e stante anche il fatto che tutte le funzioni "stringa" lo riconoscono senza problemi, mi domando come questo problema possa essere aggirato. Per il momento ho scritto una funzione basata sulla classe BinaryReader, ma lo ritengo un lavoro tutt'altro che "pulito".

Domanda: qualcuno ha già affrontato la questione?



La cosa peggiore è dover scegliere tra le cose da imparare...
PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 20:48
Giovedì, 01/07/2010
tra gli argomenti dello sttreamreader c'è anche il tipo di 'encoding' da poter scegliere tra cui ASCII, UTF-8 e molti altri
guarda (discussione analoga):

http://forum.html.it/forum/showthread/t-1223671.html


Il software è come il sesso, è meglio quando è libero.
Linus Torvalds, Conferenza della Free Software Foundation, 1996 (attribuito)

Non provare mai a spiegare il computer a un profano. È più facile spiegare il sesso a una vergine.
Robert Anson Heinle
PM Quote
Avatar
enox (Normal User)
Rookie


Messaggi: 39
Iscritto: 11/06/2009

Segnala al moderatore
Postato alle 5:33
Venerdì, 02/07/2010
Grazie walker93!

utilizzando "System.Text.Encoding.Default" il problema si risolve.

Nota: uno dovrebbe supporre che "default" significhi "se non lo metto, allora vale lui...", ma evidentemente non è la supposta giusta :asd:.


La cosa peggiore è dover scegliere tra le cose da imparare...
PM Quote