Hallo zusammen,
Folgendes Problem
Ich will chinesische Strings in einer Textdatei finden.
Wie macht man das richtig? Mit meinen Versuchen komme ich nicht weiter
Zum HintergrundAus einer selbst erstellten Textdatei (zusammen kopiert) lese ich eine Reihe von Strings, die chinesisch oder englisch sein können.
Diese Textdatei1 lese ich mit IO.File.ReadAllLines (Pfad).
Das klappt, hier werden die chinesischen Zeichen übernommen. Diese will ich jetzt in einer zweiten Datei finden.
Hier fängt mein Problem an
Die zweite Textdatei stammt aus China und besteht auch aus chinesischen oder englischen Strings.
Wenn ich hier über IO.File.ReadAllLines(f) einlese, sehen die chinesischen Zeichen z.B. so aus ‚������,
anstelle 结果表格
Setze ich
(Solche Zeichen bekomme ich auch, wenn ich beim Einlesen der ersten Textdatei ein endcoding.default verwende.)
Versuche ich mit Encoding.Unicode die Datei einzulesen, bekomme ich nur eine Line, die so tut als enthalte sie die Zeichen die ich suche. "﮹" & ChrW(2573) & "剔丠" & ChrW(11855) & …"
Da ist kein englischer String drin.
Meine Versuche, zeilenweise zu arbeiten, in dem ich entweder jede Zeile aus dem Array, das entsteht, wenn ich mit readalllines verwende, kommt auf das gleiche hinaus, wenn ich direkt endcoding.default verwende.
Das habe ich so versucht
Wenn mir damit jemand helfen könnte, wäre das richtig klasse.
CodeTags gesetzt ~VaporiZed
Folgendes Problem
Ich will chinesische Strings in einer Textdatei finden.
Wie macht man das richtig? Mit meinen Versuchen komme ich nicht weiter
Zum HintergrundAus einer selbst erstellten Textdatei (zusammen kopiert) lese ich eine Reihe von Strings, die chinesisch oder englisch sein können.
Diese Textdatei1 lese ich mit IO.File.ReadAllLines (Pfad).
Das klappt, hier werden die chinesischen Zeichen übernommen. Diese will ich jetzt in einer zweiten Datei finden.
Hier fängt mein Problem an
Die zweite Textdatei stammt aus China und besteht auch aus chinesischen oder englischen Strings.
Wenn ich hier über IO.File.ReadAllLines(f) einlese, sehen die chinesischen Zeichen z.B. so aus ‚������,
anstelle 结果表格
Setze ich
IO.File.ReadAllLines(f, Encoding.Default)
ein, bekomme ich "½á¹û±í¸ñ(Solche Zeichen bekomme ich auch, wenn ich beim Einlesen der ersten Textdatei ein endcoding.default verwende.)
Versuche ich mit Encoding.Unicode die Datei einzulesen, bekomme ich nur eine Line, die so tut als enthalte sie die Zeichen die ich suche. "﮹" & ChrW(2573) & "剔丠" & ChrW(11855) & …"
Da ist kein englischer String drin.
Meine Versuche, zeilenweise zu arbeiten, in dem ich entweder jede Zeile aus dem Array, das entsteht, wenn ich mit readalllines verwende, kommt auf das gleiche hinaus, wenn ich direkt endcoding.default verwende.
Das habe ich so versucht
VB.NET-Quellcode
- Dim arr = IO.File.ReadAllLines(f, Encoding.Default)
- For Each a In arr
- Dim defaultCode As Encoding = Encoding.Default
- Dim defauftByte = Encoding.Default.GetBytes(a)
- Dim unicode As Encoding = Encoding.Unicode
- Dim UniByte As Byte() = Encoding.Convert(defaultCode, unicode, defauftByte)
- Dim Str = unicode.GetString(UniByte)
- 'Dim unicodeBytes As Byte() = unicode.GetBytes(a)
- a = Str
- Next
Wenn mir damit jemand helfen könnte, wäre das richtig klasse.
CodeTags gesetzt ~VaporiZed
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()