[VB.NET] Problema con codifica ASCII

mercoledì 05 marzo 2008 - 15.27

actarus1981 Profilo | Junior Member

Ciao a tutti,
perchè se eseguo questi comanti:

Dim scrittore As StreamWriter = _ New StreamWriter("d:\bb_out\test.txt") scrittore.Write(chr(131) scrittore.Close()

Nel file non mi ritrovo esattamente quello che ho scritto (chr(131))? ho problemi per tutti i comandi chr(x) con x>127

Grazie

Fabio

aiedail92 Profilo | Expert

Ciao

quando inizializzi la classe StreamWriter, se vuoi che non venga utilizzata la codifica predefinita (che evidentemente non è ASCII), devi passare nel costruttore anche il tipo di codifica. Quindi se vuoi usare l'ASCII, devi inizializzarlo così:

Dim scrittore As StreamWriter = _ New StreamWriter("d:\test.txt", Append, Encoding.ASCII)

dove Append è un valore booleano che determina se i dati devono essere aggiunti al file o sovrescriverlo

Luca

actarus1981 Profilo | Junior Member

In questo modo, tutto quello che mando sul file con chr(x) ed x>127 viene salvato come se mandassi un chr(63).

aiedail92 Profilo | Expert

Ciao

Adesso ho fatto una prova senza specificare il parametro dell'encoding, ma quello che dici tu non è successo. Cioè, se scrivo Scrittore.Write(chr(131)), nel file mi scrive "ƒ", che è effettivamente il valore di chr(131)

Quale carattere vorresti che venisse salvato con un chr(131), cioè, a cosa cosa dovrebbe corrispondere?

Luca

actarus1981 Profilo | Junior Member

Ho risolto, ero un problema di codifica, utilizzando la "default" funziona tutto! :-)

Grazir
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5