string str="A C# string";
使用C#打印每个字符的ASCII值的最有效方法是什么。
for (int i = 0; i < str.length; i++)
Console.Write(((int)str[i]).ToString());
foreach(byte b in System.Text.Encoding.UTF8.GetBytes(str.ToCharArray()))
Console.Write(b.ToString());
string str = "عثمان";
char ch = ' ';
int number = 0;
for (int i = 0; i < str.Length; i++)
{
ch = str[i];
number = (int)ch;
Console.WriteLine(number);
}
这里是另一种选择。 如果输入char不是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);
}
我注意到没有人会像我喜欢的那样做到这一点,而只是使用char作为char,所以添加了我的选择:
System.Char。它很简单:
foreach (char c in str)
{
Console.WriteLine(((int)c));
}
char还为您提供更多的工具,例如isdigit
和isascii,因此,当您将其作为char类型时,您还有许多其他方法可以使用。