wake-up-neo.com

Wie konvertiere ich einen String in ASCII

Wie konvertiere ich jeden Buchstaben in einer Zeichenfolge in den Zeichenwert ASCII?

15
Student

Für jeden String versuchen Sie dies:

string s = Console.ReadLine();
foreach( char c in s)
{
    Console.WriteLine(System.Convert.ToInt32(c));
}
Console.ReadKey();
15
Student

.NET speichert alle Zeichenfolgen als Folge von UTF-16-Codeeinheiten. (Dies ist für die meisten Zwecke nahe genug an "Unicode-Zeichen".)

Zum Glück für Sie wurde Unicode so konzipiert, dass ASCII -Werte der gleichen Zahl in Unicode zugeordnet werden. Nachdem Sie also jedes Zeichen in eine Ganzzahl konvertiert haben, können Sie einfach prüfen, ob es im Bereich ASCII liegt. Beachten Sie, dass Sie eine implizite Konvertierung von char in int verwenden können. Es ist nicht erforderlich, eine Konvertierungsmethode aufzurufen:

string text = "Here's some text including a \u00ff non-ASCII character";
foreach (char c in text)
{
    int unicode = c;
    Console.WriteLine(unicode < 128 ? "ASCII: {0}" : "Non-ASCII: {0}", unicode);
}
21
Jon Skeet

Es ist ziemlich einfach:

string s = "ABCD";
byte[] bytes = Encoding.ASCII.GetBytes(s);
int result = BitConverter.ToInt32(bytes, 0);

Jetzt haben Sie ein Array für alle Bytes und die Kodierung int ist result. Wenn Sie zurückgehen müssen, können Sie wie folgt vorgehen:

int i = result;
byte[] bytes2 = BitConverter.GetBytes(i);
string s2 = Encoding.ASCII.GetString(bytes);
10
HMagdy

Versuchen Sie Linq:

Result = string.Join("", input.ToCharArray().Where(x=> ((int)x) < 127));

Dadurch werden alle Nicht-ASCII-Zeichen herausgefiltert. Wenn Sie ein Äquivalent möchten, versuchen Sie Folgendes:

Result = string.Join("", System.Text.Encoding.ASCII.GetChars(System.Text.Encoding.ASCII.GetBytes(input.ToCharArray())));
2
user2956314

Ich denke, dieser Code kann Ihnen helfen:

string str = char.ConvertFromUtf32(65)
0
r12

Verwenden Sie Convert.ToInt32 () zur Konvertierung. Sie können einen Blick auf How to convert string in ASCII - Wert in C # und ASCII -Werte werfen.

0
Akshatha