考虑字符串:
string str="A C# string";
使用C#打印输出str中每个字符的ASCII值的最有效方法是什么。
答案 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);
}