Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: TheKillerWantsYou en 21 Junio 2011, 19:12 pm



Título: UTF-8 a Unicode
Publicado por: TheKillerWantsYou en 21 Junio 2011, 19:12 pm
Buenas, amigos.

Tengo el siguiente código, que sustituye un determinado carácter por otro, tal que así:

Citar
        Dim StrR As IO.StreamReader
        Dim StrW As IO.StreamWriter
        Dim Lee As String
       
        For Each Archivo As String In My.Computer.FileSystem.GetFiles("c:\Directory", FileIO.SearchOption.SearchTopLevelOnly, "*.txt")
            StrR = New IO.StreamReader(Archivo)

            Lee = StrR.ReadToEnd _
            .Replace("á", "@") _
            .Replace("é", "$") _
            .Replace("í", "|") _
            .Replace("ó", "#") _
            .Replace("ó", "#") _
            .Replace("ú", "=") _
            .Replace("ñ", "&") _
            .Replace("¿", ">") _
            .Replace("¡", "<")

            StrR.Close()
            StrW = New IO.StreamWriter(Archivo)
            StrW.Write(Lee)
            StrW.Close()
            Lee = nothing
        Next

La cosa es que, cuando el StreamWriter escribe y guarda lo que se ha procesado, me lo convierte a UTF-8, a pesar de que originalmente el texto estaba en Unicode. Es esencial que el texto siga en Unicode, y hacerlo manualmente con 280 archivos es una locura. ¿Qué habría que hacer para tal fin? Gracias :)