Laden...

1, 2 oder 3-stellige Dezimalzahl in ASCII-Zeichen umwandeln

Erstellt von PetraN vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.303 Views
P
PetraN Themenstarter:in
4 Beiträge seit 2018
vor 5 Jahren
1, 2 oder 3-stellige Dezimalzahl in ASCII-Zeichen umwandeln

Hallo,
ich suche seit Stunden erfolglos im Netz...
Ich möchte z.B. die Dezimalzahl 51 in das ASCII-Zeichen 3 umwandeln.
Der User kann 1 bis 254 angeben und ich soll das passende ASCII-Zeichen dazu finden.
Also aus 57 soll 9 werden, auf 65 A usw.
Könnt ihr mir helfen, bitte?

Die User-Eingabe ist ein String.

T
2.219 Beiträge seit 2008
vor 5 Jahren

Billige Lösung wäre ein Boxing in char.


int zahl = 51;
char asciiZeichen = (char)zahl;

Nachtrag:
Du müsstest natürlich erst einmal den Eingabe Text in einen int umwandeln, dabei aber auch aufpassen ob die Eingabe gültig ist.
Ein Int32.TryParse + Prüfung ob der Wert zwischen 0 und 255 liegt sollte reichen.
Dann nur noch das Boxing und du hast dein Zeichen.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

W
113 Beiträge seit 2006
vor 5 Jahren

Hallo,

eine andere Möglichkeit wäre die Encoding Klasse:


var numbers = new byte[] {51, 57, 65};
var chars = Encoding.ASCII.GetChars(numbers);

xan

P
PetraN Themenstarter:in
4 Beiträge seit 2018
vor 5 Jahren

@ T-Virus:
Ich habe deinen Code getestet, als Ergebnis kommt 51 raus und nicht 3.

Nein, Blödsinn, alles hat geklappt!!!

16.807 Beiträge seit 2008
vor 5 Jahren

ich suche seit Stunden erfolglos im Netz...

Sorry, aber das kann man nicht im Ansatz glauben.
Google-Suche nach c# int to ascii