Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB.NET] Problemi di encoding su lettura file di testo.

    Ciao!

    Dovrei leggere un semplice file di testo.
    Solo che è scritto con la codifica Western European.

    Ho trovato su MSDN un esempio che legge un file codificato come ASCII, ma non capisco come modificarlo per leggere un formato Western European...

    Riporto l'esempio:

    Public Shared Function getTextFile(ByVal filePath As String) As String
    getTextFile = ""

    Dim fs As FileStream
    fs = File.OpenRead(filePath)

    Dim b(1024) As Byte
    Dim temp As ASCIIEncoding = New ASCIIEncoding

    Do While fs.Read(b, 0, b.Length) > 0
    getTextFile = uty.concat(getTextFile, temp.GetString(b))
    Loop
    fs.Close()
    End Function

    Qualcuno mi da una mano?


    Grazie.
    Fedrok
    Corsi di Shiatsu a Brescia? Corso di Shiatsu a Brescia?
    ____________________________________
    Visto che la luce viaggia piu' veloce del suono, sara' per questo che molte persone appaiono brillanti finchè non le senti parlare?

  2. #2
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    Io di solito faccio così:

    codice:
     Dim sr As StreamReader = New StreamReader(path, System.Text.Encoding.Default)
     Dim result As String = sr.ReadToEnd()
     sr.Close()
    HTH
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

  3. #3

    Grazie Biste!

    Propongo questa funzione general purpose che può tornare comoda a molti:


    Public Shared Function getTextFile(ByVal filePath As String, Optional ByVal pFormatoEncoding As String = "UTF-8") As String
    ' pFormatoEncoding = { "UTF-8" , "Windows-1252" , ... }

    Dim lStream As Stream
    Dim encode As Encoding = System.Text.Encoding.GetEncoding(pFormatoEncoding)
    lStream = File.OpenRead(filePath)

    Dim readStream As New StreamReader(lStream, encode)
    getTextFile = readStream.ReadToEnd
    lStream.Close()
    readStream.Close()
    readStream = Nothing
    lStream = Nothing

    End Function
    Fedrok
    Corsi di Shiatsu a Brescia? Corso di Shiatsu a Brescia?
    ____________________________________
    Visto che la luce viaggia piu' veloce del suono, sara' per questo che molte persone appaiono brillanti finchè non le senti parlare?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.