だから、私は13文字の文字列を持っています。
string str = "HELLOWORLDZZZ";
これを ASCII 表現 (16 進数) として uint 変数に格納する必要があります。どうすればいいですか?
を使用して、文字列を ASCII エンコーディングの配列に変換できます (各文字は 1 つを取ります)。次に、そのバイト配列を に変換するために呼び出します。ただし、@R. Bemroseはコメントで、aはわずか 4秒であるため、最初に配列のパーティション分割を行う必要があると述べています。Encoding.ASCII
.
GetBytes
byte
byte
BitConverter.ToUInt32
uint
uint
byte
uint.Parse(hexString, System.Globalization.NumberStyles.HexNumber);
私のコメントを参照してください。ただし、ASCII 文字列を 16 進数に変換するだけの場合は、次のように思われます。
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;
}
string
これにより、(Base 16 表現で)が に変換されますuint
。
uint val = Convert.ToUInt32(str, 16);
これで、bdukes の回答に対するコメントであなたが何を望んでいるのか理解できたと思います。
文字列内の各文字のコードが必要な場合はhex
、LINQ を使用して取得できます。
var str = "ABCD";
var hex = str.Select(c => ((int)c).ToString("X"))
.Aggregate(String.Empty, (x, y) => x + y);
hex
文字列になります41424344