包含不正确形式的字节数组到String中的字符串

时间:2011-02-07 20:19:13

标签: c# string bytecode

我有一个关于以下问题的问题:

// input-String (including four bytes) : d131dd02...
// transform Bytes-String in String (this Works!) manually:
String message = ((char)0xd1).ToString() + ((char)0x31).ToString() + ((char)0xdd).ToString() + ((char)0x02).ToString()+ ....

我想编写一个函数,它会自动以正确的格式转换上面给出的输入字符串。 我开始写一些代码,但它不起作用,因为我不知道我该怎么做。

if(checkBox1.Checked== true)
{
   String message = null;
   char[] bufferArray = textBox1.Text.ToArray();
   MessageBox.Show(bufferArray.Length.ToString());
   for (int i = 0; i < textBox1.TextLength / 2; i+=2)
   {
      String buffer=("0" + "x" + bufferArray[i] + bufferArray[i+1]);
      message += ((char)buffer.ToString();
   }
   richTextBox1.Text = getMd5Hash(message);
   richTextBox2.Text = MD5HashBerechnen(message).ToLower();
}

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

查看Encoding课程。

Encoding.ASCII.GetString(Encoding.ASCII.GetBytes(bufferArray));

答案 1 :(得分:0)

我认为你应该摆脱“/ 2”。

答案 2 :(得分:0)

它不起作用的原因是因为在第一种情况下,您将数字转换为char,在第二种情况下,您将字符串转换为char。

0xd1"0xd1"

不同