Forum: PC-Programmierung U-Dos Zeichensatz


von Peter (Gast)


Lesenswert?

Hallo,
ich versuche gerade ein bytearray welchen die Zeichen im U-Dos 
Zeichensatz hat in einen String zu wandeln.

Ich arbeite mit c#.


System.Text.Encoding enc = new System.Text.UTF8Encoding();
string tmp = enc.GetString( x );

tmp -> Straße,

liefert leider nicht das Gewünschte ergebniss. Auch Unicode und UTF7 
geht nicht.

in x steht drin
1
53 74 72 61 C3 83 C5 B8 65 2C ; Straße,
2
 S  t  r  a              e  ,

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Könnte mit "U-DOS" CP437 (OEM) gemeint sein?

von icke (Gast)


Lesenswert?

nee

von Roland P. (pram)


Lesenswert?

ich tipp auf UTF8^2 :)

Mach 2x ein UTF-8 Decode und du hast deine "Straße" wieder


Straße -> Straße -> Straße


Gruß
Roland

von Peter (Gast)


Lesenswert?

@Roland
Der Tipp ist gut, aber wie bekome ich mit c# aus einen string ein 
bytearray. Jedesmal wenn ich es zurück in das bytearray stecken will 
macht er ja schon eine convertierung.

Straße -> bytearray -> Straße

byte[] x = System.Text.ASCIIEncoding.UTF8.GetBytes(tmp);

von Roland P. (pram)


Lesenswert?

Hmm, meine C# Kenntnisse sind leider sehr begrenzt (praktisch = 0)

Was mir noch nicht klar ist, willst du VON einem ByteArray IN einen 
String wandeln oder umgekehrt.
Da C# (vermutlich!) alles Strings als Unicode behandelt kann eine 
Umwandlung von String in ein Bytearray nicht immer ohne 
Informationsverlust klappen. (und wird auch im Link unten erwähnt)

Was liefert ein System.Text.ASCIIEncoding.GetBytes(tmp);

(Achtung! Man beachte mein gefährliches C# Halbwissen, welches ich mir 
schnell aus 
http://msdn.microsoft.com/de-de/library/system.text.asciiencoding(VS.80).aspx 
angeeignet habe)

Gruß
Roland

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.