我需要字符串中每个字符的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码号。它是什么?
答案 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, ", ");