将ASCII int转换为char

时间:2018-04-22 21:15:21

标签: c# cypher ascii

我有一些代码是Caesar cypher的开头,它使用char的ASCII值然后添加到该值来移动它。

目前我已将其转换回字符串以将移位的ASCII值打印到TextBox3。但我需要转换'结果'返回字符以显示加密的字符串。这就是我正在努力的目标。

private void button1_Click(object sender, EventArgs e)
{
    string input = textBox1.Text;
    int shift = int.Parse(textBox2.Text);

    foreach(char c in input)
    {
        int inputInt = Convert.ToInt32(c);

        int result = shift + inputInt;

        string output = Convert.ToString(result);

        textBox3.Text += output;
    }
}

2 个答案:

答案 0 :(得分:0)

  string input = textBox1.Text;
  int shift = int.Parse(textBox2.Text);

  textBox3.Text=string.Join("", input.Select(charr => (char)(((int)charr) + shift))
                                );         

答案 1 :(得分:-1)

这应该有效:

private void button1_Click(object sender, EventArgs e)
{

    string input = textBox1.Text;
    int shift = int.Parse(textBox2.Text);

    foreach(char c in input)
    {
        int inputInt = (int)c;

        int result = shift + inputInt;

        // result > 255?

        textBox3.Text += (char)result;
    }

}