wake-up-neo.net

Die bekommen ASCII Wert eines Zeichens in einer C # -Saite

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.

17
Shamim Hafiz

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());
10
Joel Etherton

Werfen Sie einfach jeden Charakter in ein int:

for (int i = 0; i < str.length; i++)  
  Console.Write(((int)str[i]).ToString());
21
Jorge Córdoba

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);
        }
3
Ammar

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);
}
0
noctonura