Hexadezimale Darsellung in C#.NET

Gast #385886
Lesenswert?

Hallo zusammen,

ich versuche nun schon länger einen String wie z.B. "@0$%" nicht in
dieser Form, sondern in Hexadezimaler Schreibweise, d.h "0x40 0x30
0x24 0x25" in einem Textfeld anzeigen zu lassen. Allerdings finde ich
einfach nicht, wie das geht.
Mit welcher Funktion o.ä. kann man sich die hex-Werte anzeigen lassen?

Vielen Dank für eure Hilfe.

Gruß
dumpfi
Gast #385888
Lesenswert?

Hi Stromspannung,

danke dir für deine Antwort.
Der Hinweis mit dem zweiten Argument 16 war schon Gold wert. Ich habe
nie gesehen, daß die Funktion auch zwei Parameter akzeptiert.
(Absoluter Neuling in der Sprache.)

Aber wenn ich deinen Vorschlag versuche umzusetzen, dann beschwert sich
der Compiler mit folgender Fehlermeldung:

Argument '2': cannot convert from 'int' to
'System.IFormatProvider'.
Er scheint die 16 nicht zu akzeptieren, aber warum und was kann ich
dagegen tun?
(Ausschnitt aus meinem Source code im Anhang.)

Vielen Dank für deine Hilfe bisher.

Gruß
dumpfi
Gast #385893
Lesenswert?

Hi nochmal,

du kannst es viel einfacher haben.

string s = String.Format("0x{0:X}", DeineZahl);

Dann hast du in s die Hex-Repräsentation der Zahl. Das ganze Spielchen
kannst du dann mit foreach für alle Chars des Strings machen.
Gast #385894
Lesenswert?

Hallo,

danke dir vielmals für deine Mühe.
Ich nehme mal an, daß {0:X} für die führende Null bei der hexadezimalen
Darstellung sorgt. Das probiere ich morgen gleich mal aus, denn meine
Lösung hierfür sieht eher seltsam aus.
(Funktioniert aber auch, Juhuu.)

Gruß
dumpfi
Gast #385895
Lesenswert?

Nee, das {0:X} hat zum einen als {0} die Funktion als Platzhalter für
den Wert deiner Zahl. Also das, was in C/C++ printf das %d und Co
macht. Mit :X wird dann das Format spezifiziert, hier also Hex.


Gruß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren