如何获取给定char的ASCII编号?

时间:2014-01-23 20:00:02

标签: c# string

我需要字符串中每个字符的ASCII值。我知道如何将字符串转换为字节数组,以便循环遍历每个字符,但如何获取每个字节的ASCII值?

在下面的代码中......

string s = Console.ReadLine();
byte[] chars = Encoding.UTF8.GetBytes(s);
for (int x = 0; x < chars.Length; x++)
{
    Console.Write(chars[x].ToString() + " ");
}

我绝对可以获得每个字符的ASCII值的字符串表示。然后我可以将转换功能添加到它并且可以免费回家......

Console.Write(Convert.ToInt32(chars[x].ToString()));

但这似乎不必要地罗嗦 - 必须有一个函数可以获取每个字节并给我ASCII码号。它是什么?

2 个答案:

答案 0 :(得分:4)

Console.Write("{0} ", (int)chars[x]);

或社区其他人所说:

string s = Console.ReadLine();
for (int x = 0; x < s.Length; x++)
{
    Console.Write("{0} ", (int)s[x]);
}

答案 1 :(得分:0)

选择可能是一种简单的方式来编写您想要做的事情:

string s = Console.ReadLine();
byte[] chars = Encoding.UTF8.GetBytes(s);
int[] ascii = chars.Select(ch => (int)ch).ToArray();

如果您想在某处写int[]个值,可以使用String.Join这样:

string asciiString = String.Join(ascii, ", ");