获取C#字符串中字符的ASCII值

考虑字符串:

string str="AC# string"; 

使用C#打印输出str中每个字符的ASCII值的最有效方法是什么。

这是一个替代方案,因为你不喜欢转换为int:

 foreach(byte b in System.Text.Encoding.UTF8.GetBytes(str.ToCharArray())) Console.Write(b.ToString()); 

只需将每个字符强制转换为int:

 for (int i = 0; i < str.length; i++) Console.Write(((int)str[i]).ToString()); 

这个例子可能对你有帮助。 通过使用简单的转换,您可以获得urdu字符后面的代码。

 string str = "عثمان"; char ch = ' '; int number = 0; for (int i = 0; i < str.Length; i++) { ch = str[i]; number = (int)ch; Console.WriteLine(number); } 

这是另一种选择。 如果输入字符不是ascii,它当然会给你一个糟糕的结果。 我没有对它进行过测试,但我认为它会非常快:

 [MethodImpl(MethodImplOptions.AggressiveInlining)] private static int GetAsciiVal(string s, int index) { return GetAsciiVal(s[index]); } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static int GetAsciiVal(char c) { return unchecked(c & 0xFF); }