6 Stimmen

C# string in uint konvertieren

Ich habe also eine Zeichenkette mit 13 Zeichen.

string str = "HELLOWORLDZZZ";

und ich muss dies als ASCII-Darstellung (hex) in einer uint-Variablen speichern. Wie kann ich das tun?

12voto

bdukes Punkte 144019

Sie können verwenden Encoding.ASCII.GetBytes um Ihre Zeichenkette in eine byte Array mit ASCII-Kodierung (jedes Zeichen nimmt eine byte ). Rufen Sie dann BitConverter.ToUInt32 um dieses Byte-Array in eine uint . Da jedoch @R. Bemrose in den Kommentaren erwähnt, eine uint ist nur 4 byte s, daher müssen Sie Ihr Array zunächst partitionieren.

2voto

user467384 Punkte 1117

Ich denke, das ist die richtige Methode für Sie

Convert.ToUInt32(yourHexNumber, 16);

siehe die Dokumentation ici .

1voto

Femaref Punkte 59547
uint.Parse(hexString, System.Globalization.NumberStyles.HexNumber);

1voto

Ta01 Punkte 30128

Siehe meinen Kommentar, aber wenn Sie nur eine ASCII-Zeichenkette in Hex konvertieren wollen, was ich vermute:

public string HexIt(string yourString)
{
    string hex = "";
    foreach (char c in yourString)
    {
        int tmp = c;
        hex += String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString()));
    }
    return hex;
}

0voto

Adam Maras Punkte 25358

Dadurch wird Ihr string (mit einer Basis-16-Darstellung) zu einer uint .

uint val = Convert.ToUInt32(str, 16);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X