Forums Neueste Beiträge
 

Probleme beim Einlesen Sonderzeichen aus Datei

25/03/2008 - 16:02 von Uwe Beer | Report spam
Hallo,
ich habe ein taktisches Problem. Ich muss aus einer Ascii-Datei zeilenweise
einlesen
und diese Daten dann Parsen (festes Spaltenformat).

Innerhalb einiger Zeilen sind 'ß' vorhanden (Hex='DF'). Leider làsst der
folgende Code
beim Einlesen der Zeile das 'ß' einfach weg und liest statt 154 zeichen nur
153 Zeichen ein.

Dummerweise sind dann ab dem 'ß' alle Werte um 1 Zeichen verschoben, ergo ic
parse falsche Werte.

Hat Jemand schon einen solchen Effekt gehabt?
Und viel wichtiger kann mir Jemand helfen.

Ach Ja. Das Ganze ist unter XP Pro, DotNet 2003 und Framework 1.1,

Gruß Uwe

Coding -
Dim VERSORT_Reader As TextReader

Dim EDILine As String

Dim datei As String

VERSORT_Reader = File.OpenText(datei)

EDILine = VERSORT_Reader.ReadLine

Do While Not (EDILine = Nothing)

[...] Verarbeitung

EDILine = VERSORT_Reader.ReadLine

Loop

VERSORT_Reader.Close()

Coding -
 

Lesen sie die antworten

#1 Thomas Scheidegger
25/03/2008 - 16:12 | Warnen spam
Hallo Uwe


Ascii-Datei zeilenweise einlesen
Innerhalb einiger Zeilen sind 'ß' vorhanden (Hex='DF').



dann ist es nicht mehr ASCII ({it),
sondern vermutlich Codepage 1252 (Windows ANSI bei uns)
http://www.microsoft.com/globaldev/.../1252.mspx


File.OpenText(datei)



lies MSDN,
dies nutzt nochmals ein anderes Encoding, UTF-8 (eine Unicode-Variante).

Versuche mal diesen Ansatz (alle Zeilen!):
File.ReadAllLines(String, Encoding)

wobei zB:
Encoding.Default
automatisch die je nach Land eingestellte Windows-ANSI nimmt.
Oder explizit fixe Codepage:
Encoding.GetEncoding(1252)



Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen