Zeichen gehen bei ByteArrayToString verloren

24/02/2011 - 17:36 von Christian Bode | Report spam
Hi,

Ich möchte den Inhalt eines Textes aus einem Stream ermitteln. Leider
gehen mit dabei in meinem Fall 2 Zeichen bei der Umwandlung verloren.

Die ursprüngliche String-Lànge entspricht 219 Zeichen. Der Datenpuffer
ist ebenfalls 219 Elemente groß. Mein String nach der Umwandlung besitzt
jedoch nur noch 217 Zeichen.

Data = new byte[TextLength];
Stream.Read(Data, 0, TextLength);
String InfoText = Encoding.UTF8.GetString(Data);

Bisher hatte ich dahingehend noch keine Probleme, was könnte dir Ursache
sein?

Grüße
Christian
 

Lesen sie die antworten

#1 Hilmar Bunjes
25/02/2011 - 11:13 | Warnen spam
Am 24.02.2011 17:36, schrieb Christian Bode:
Die ursprüngliche String-Lànge entspricht 219 Zeichen. Der Datenpuffer
ist ebenfalls 219 Elemente groß. Mein String nach der Umwandlung besitzt
jedoch nur noch 217 Zeichen.

Data = new byte[TextLength];
Stream.Read(Data, 0, TextLength);
String InfoText = Encoding.UTF8.GetString(Data);

Bisher hatte ich dahingehend noch keine Probleme, was könnte dir Ursache
sein?



Vielleicht werden Sonderzeichen durch die UTF8 Konvertierung direkt in
die korrekten Werte umgesetzt? Es sollte, wenn du aus dem String wieder
ein Byte Array machst, die gleiche Anzahl an Bytes vorhanden sein.
Ebenfalls sollte eine ISO8859-1 Konvertierung die gleiche Anzahl an
Zeichen wie das Byte Array haben.

Kannst du den Inhalt des Byte Arrays posten?

Gruß,
Hilmar

cambiro.de - Spielend neue Gewohnheiten einüben.

Ähnliche fragen