ANSI Encoding beim Lesen und Schreiben für txt Dateien

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Eierlein.

    ANSI Encoding beim Lesen und Schreiben für txt Dateien

    Hallo!

    Ich habe eine Textdatei in der ich eine Zeile ändern möchte. Soweit kein Hexenwerk. Öffne ich diese Datei mit Notepad++ dann wird mir als Codierung ANSI angezeigt. Alle Zeichen, also auch Umlaute, werden korrekt dargestellt. Lese ich nun eine Zeile mit Umlauten aus werden diese nicht korrekt dargestellt. Selbst wenn ich den versuche das Auslesen zur korrekten Encodierung zu zwingen.

    VB.NET-Quellcode

    1. Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(1252)
    2. 'funzt auch nicht mit DEFAULT
    3. Dim Inhalt() As String = File.ReadAllLines(Dateiname, enc)


    Dementsprechend sieht dann später das Geschriebene auch Sch.... aus.

    So und jetzt Ihr. :) Danke schonmal
    hast du schon alle Standard encodings versucht
    Dim enc As System.Text.Encoding = System.Text.Encoding.UTF32 (UTF7, UTF8), Unicode, BigEndianUnicode?
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Hast du mal geschaut ob dir File. nicht sowas wie "GetEncoding" zur Verfügung stellt.
    Ich hab gerade kein VB mehr zur Hand.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."

    Alexprivat schrieb:

    Gibt es eine Möglichkeit die Codierung auszulesen?
    Nicht in einer Text-Datei.
    Häng die Datei doch mal an.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ok. Habe es gerade nochmal nachprogrammiert und auf einmal funktioniert es. Muss also irgendwo in meinem Code liegen.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(1252)
    3. Dim Inhalt() As String = File.ReadAllLines("C:\Temp\Beispiel", enc)
    4. Dim Text As String
    5. For i = 0 To Inhalt.Length - 1
    6. Text += Inhalt(i)
    7. Next
    8. MsgBox(Text)
    9. End Sub


    Kaum macht man es richtig ...
    Danke für Deine Mühe Schamash, sehe gerade nur noch Zahlen. Versuche es morgen nochmal. Mmmmpf.