Laden...

Encoding/Decoding ISO-8859-1

Erstellt von briquet vor 14 Jahren Letzter Beitrag vor 14 Jahren 848 Views
briquet Themenstarter:in
33 Beiträge seit 2009
vor 14 Jahren
Encoding/Decoding ISO-8859-1

Bin etwas verzweifelt. Ich muss Strings in ISO8859-1 Zeichen verschlüsseln.
Andersrum, mit:

System.Text.Encoding.GetEncoding("iso-8859-1").GetString(new Byte[]{0xFC, 0x62, 0x26, 0x65, 0x72});

kriege ich ja das Wort "üb+er" raus. Aber der String soll meine Eingabe sein und als Ausgabe brauche ich das Bytearray.
Kann mir da jemand helfen? Ich hab so die Vermutung, dass das ganz einfach geht. Aber ich seh den Wald vor lauter Bäumen nicht X(

R
234 Beiträge seit 2007
vor 14 Jahren

Versuchs mal mit:


System.Text.Encoding.GetEncoding ("iso-8859-1").GetBytes ("üb+er");

briquet Themenstarter:in
33 Beiträge seit 2009
vor 14 Jahren

Das hatte ich auch schon probiert, aber da krieg ich {252,98,43,101,114} raus und nicht {0xFC, 0x62, 0x26, 0x65, 0x72}.

X
1.177 Beiträge seit 2006
vor 14 Jahren

huhu,

das ist doch das gleiche. Dezimal <-> Hexadezimal.

zur Verdeutlichung folgende Schritte ausführen:

klicke Start -> Ausführen -> calc.exe eingeben und Eingabetaste drücken -> Warten bis Calc geladen ist -> Menü "Ansicht" -> "Wissenschaftlich" auswählen -> 252 Tippen -> Menü "Ansicht" -> "Hex" wählen -> "FC" an Bildschirm ablesen.

SCNR

😃

Xynratron

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.

R
234 Beiträge seit 2007
vor 14 Jahren

Zum "umwandeln" von Dezimalzahlen in Hexadezimalzahlen hatte Peter Bucher vor einiger Zeit was in seinem Blog stehen: Hex String zu int und umgekehrt

/Edit: Xynratron, "Warten bis Calc geladen ist" ... der ist gut. 😄

X
1.177 Beiträge seit 2006
vor 14 Jahren

huhu,

in dem Fall sind es aber schon Zahlen!


int d = 252;
int h = 0xFC;
if (d == h) 
  MsgBox("HURRA");
else
  throw new BSOD();

😃

Xynratron

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.

R
234 Beiträge seit 2007
vor 14 Jahren

in dem Fall sind es aber schon Zahlen!

Verstehe ich jetzt nicht, was du damit sagen möchtest. 🤔

X
1.177 Beiträge seit 2006
vor 14 Jahren

huhu

Das hatte ich auch schon probiert, aber da krieg ich {252,98,43,101,114} raus und nicht {0xFC, 0x62, 0x26, 0x65, 0x72}.

Das sind beides Byte Arrays, nur einmal zeigt Visual Studio die Bytes als Dezimalzahlen und einmal als Hex-Zahlen an. Aber Byte bleibt Byte und 252==0xFC !

Da muss man keine Zahlen-Strings umwandeln.

😃

Xynratron

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.

R
234 Beiträge seit 2007
vor 14 Jahren

Da muss man keine Zahlen-Strings umwandeln.

Achso, jetzt ist klar was du meinst.

Ist mir schon bewusst gewesen. Ich wollte nur die Möglichkeit aufzeigen, falls briquet gerne die hexadezimale Repräsentation der Zahl irgendwo ausgeben möchte. 🙂

briquet Themenstarter:in
33 Beiträge seit 2009
vor 14 Jahren

Hmm, klingt logisch.
Problem gelöst, danke euch!
😁