Betrachten Sie die Zeichenfolge:
string str="A C# string";
Was wäre der effizienteste Weg, um den ASCII - Wert jedes Zeichens in str mit C # auszudrucken.
Hier ist eine Alternative, da Sie die Besetzung nicht als int mögen:
foreach(byte b in System.Text.Encoding.UTF8.GetBytes(str.ToCharArray()))
Console.Write(b.ToString());
Werfen Sie einfach jeden Charakter in ein int:
for (int i = 0; i < str.length; i++)
Console.Write(((int)str[i]).ToString());
Dieses Beispiel kann Ihnen helfen. Durch einfaches Casting können Sie Code hinter dem Urdu-Charakter erhalten.
string str = "عثمان";
char ch = ' ';
int number = 0;
for (int i = 0; i < str.Length; i++)
{
ch = str[i];
number = (int)ch;
Console.WriteLine(number);
}
Hier ist eine andere Alternative. Es gibt Ihnen natürlich ein schlechtes Ergebnis, wenn das Eingabezeichen nicht ascii ist. Ich habe es nicht getestet, aber ich denke es wäre ziemlich schnell:
[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);
}