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

时间:2011-02-15 11:14:06

标签: c# string ascii character

考虑字符串:

string str="A C# string";

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

4 个答案:

答案 0 :(得分:22)

将每个字符转换为int:

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

答案 1 :(得分:11)

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

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

答案 2 :(得分:4)

此示例可能对您有所帮助。通过使用简单的转换,您可以获得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);
        }

答案 3 :(得分:0)

这是另一种选择。如果输入字符不是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);
}