如何在C#中返回ASCII码

时间:2014-04-11 22:33:51

标签: c#

如何返回在文本框中输入的特定字符串的ascii代码并将其显示在同一文本框中?

下面的代码返回System.byte [],有什么问题?

string value = textBox1.Text;
textBox1.Text=Convert.ToString (Encoding.ASCII.GetBytes("v"));

this answer doesn't work

1 个答案:

答案 0 :(得分:2)

Encoding.ASCII.GetBytes的调用返回一个字节数组。您不能只将整个对象转换为字符串,或者获得类类型(在这种情况下为System.byte[])。

而是在集合中的每个项目(字节)上调用ToString

textBox1.Text =
    string.Join(",", Encoding.ASCII.GetBytes("hello").Select(b => b.ToString()));

输出:

"104,101,108,108,111"

或者,如果您不想要分隔符:

textBox1.Text = new string(
    Encoding.ASCII.GetBytes("hello").SelectMany(b => b.ToString()).ToArray());

输出:

"104101108108111"