获得一个字符的ASCII值在C#字符串获得一个字符的ASCII值在C#字符串(Getting The

2019-05-12 04:37发布

考虑字符串:

string str="A C# string";

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

Answer 1:

这里有一个选择,因为你不喜欢的演员为int:

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


Answer 2:

只投每一个字符为int:

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


Answer 3:

这个例子可以帮助你。 通过使用简单的铸件,你可以得到的背后乌尔都语字符代码。

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


Answer 4:

这是另一种选择。 这当然会给予你一个坏的结果,如果输入的字符不是ASCII。 我没有PERF测试,但我认为这将是非常快:

[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);
}


文章来源: Getting The ASCII Value of a character in a C# string