String to Hex C#

OP #2662685
Lesenswert?

Hi,
wie kann ich einen String in eine HEx-Zahl umwandeln, wobei der String 
schon das richtige Format hat.
Also z.B.
Sring a = "FF00";

dann sollte so konvertiert werden.

int b = Convert.ToInt16(a);

b sollte dann 0xFF00 sein.

Hab im inernet gsucht aber nichts gfune.

Danke für eure Hilfe.

Gruß
Agit
OP #2662720
Lesenswert?

Hi Peter,
danke für die schnelle Antwort.
Ich denke ich hab mein Problem nicht klar geschildert.

Also:
in der GUI habe ich ein Textfeld, dass wenn ich irgendwas drücke HEX 
werte ausgibt. Dieses Textfeld speichere ich in einen String, wobei es 
eigentlich shcon der Wert ist den ich benötige. Aber ich kann ja aus dem 
Textfeld nicht direkt einen Integer machen oder?

Nun habe ich meinen String "FF00EE11".
daraus brauch ich halt byte zum biespiel = 0XFF00EE11

Vielen Dank für die Hilfe

Gruß

Agit
Gast #2662730
Lesenswert?

Agit A. schrieb:
> daraus brauch ich halt byte zum biespiel = 0XFF00EE11

nein das brauchst du nicht, denn 0XFF00EE11 = 4278251025 = 
0b11111111000000001110111000010001 = 037700167021

wie der computer es intern speichert kann dir ziehmlich egal sein. du 
Willst eine Zahl mehr nicht.

Und dieses steht im den verlinkten artikel wie es geht.
OP #2662834
Lesenswert?

Hi,

hab da doch noch ne frage.
Der String wird bei deiner Funktion in Hex gewandelt.
Ich willl aber dass der String so bleibt wie er ist und ich ihn als 
Integer weiterverwenden kann anstatt als string.
Verstehst du was ich meine?

String "abbaa" ( ist eigentlich schon der richtige Hex-Wert muss nicht 
gewandelt werden, will aber als Integer haben nicht als String)

Danke für die antwort

Gruß

Agit
Gast #2662836
Lesenswert?

Hallo,
dir einzelnen Zeichen sind als ASCII Code im String hinterlegt. Jedes 
Zeichen belegt ein Byte (kein UNICODE) mit dem Wert aus der ASCII 
Tabelle.
"0" hat den Wert 48, "9" den Wert 57, "A" hat 65 und "F" hat 70.

Value=0
Schleife:
   Value=Value*16
   nächstes Zeichen von links nach c holen
   wenn c>="0" und c<="9": cWert=c-48
   wenn c>="A" und c<="F": cWert=c-55
   Value= Value+cWert
nächstes Zeichen


Waldo
Gast #2662841
Lesenswert?

Agit A. schrieb:
> Ich willl aber dass der String so bleibt wie er ist und ich ihn als
> Integer weiterverwenden kann anstatt als string.
> Verstehst du was ich meine?

nein - das ist nicht zu verstehen. entweder willst du eine zahl haben 
oder eine String beides gleichzeitig geht nicht.

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