Zum Inhalt springen

[C#]Umwandeln von Strings in Ascii


Empfohlene Beiträge

Geschrieben

Tach Leute.

Ich komm einfach nicht drauf. Hab mir schon tausende Themen durchgelesen. Das Ereignis findet statt, wenn ich einen Button klicke. Hier erstmal der Code:

 tbLizenz.Visible = true;
label2.Visible = true;
string strBuchstabe = tbNr.Text;
string strAusgabe = "";

if (tbNr.Text == "")
{
MessageBox.Show("Fehlerhafte Eingabe!", "Fehler!");
tbLizenz.Visible = false;
label2.Visible = false;
}
else
{
foreach (char c in strBuchstabe)
{
strBuchstabe = System.Convert.ToInt32(c).ToString();
strAusgabe += strBuchstabe;
}
tbLizenz.Text = strAusgabe;
}[/PHP]

Ich hab 2 Textboxen. Einmal Textbox für die Eingabe (tbNr) und einmal Ausgabe (tbLizenz). Ich möchte jedes Zeichen, das in dem String ist, den Ascii Code herauslesen und von der eingegebenen Zahl subtrahieren.

String wäre z.B. Hallo:

Also tbNr.Text - (minus) Ascii-Wert H

- Ascii-Wert A

...

...

...

Das Ergebnis möchte ich mir gerne in der Textbox für die Ausgabe anzeigen lassen.

Danke für die Hilfe.

Geschrieben

Müsste das dann so aussehen:?!

private void btnGenerieren_Click(object sender, EventArgs e)
{
tbLizenz.Visible = true;
label2.Visible = true;
string strBuchstabe = tbNr.Text;
string strAusgabe = "";

if (tbNr.Text == "")
{
MessageBox.Show("Fehlerhafte Eingabe!", "Fehler!");
tbLizenz.Visible = false;
label2.Visible = false;
}
else
{
foreach (char c in strBuchstabe)
{
strBuchstabe = System.Convert.ToInt32(c).ToString();
char.ConvertToUtf32(strBuchstabe, 0);
char.ConvertToUtf32(strBuchstabe, 1);
char.ConvertToUtf32(strBuchstabe, 2);
char.ConvertToUtf32(strBuchstabe, 3);
char.ConvertToUtf32(strBuchstabe, 4);
char.ConvertToUtf32(strBuchstabe, 5);

strAusgabe += strBuchstabe;
}
tbLizenz.Text = strAusgabe;
}
}[/PHP]

Da ich Anfänger bin, versteh ich´s noch nicht so ganz, ob ich nun was falsches angegeben hab. Ab dem 3. bringt er mir, dass es außerhalb des Bereiches liegt?! Als Rückgabewert gibt er mir bei jedem Zeichen die 50 zurück.

Geschrieben

Kurze Frage zur Verständnis. Soll das eine Chiffre werden? Sieht mir ganz danach aus als wenn du deinen Klartext den du eingegeben hast durch das Umrechnen in ASCII und Subtrahieren des ASCII-Wertes von H in eine Geheimschrift wie die Caesarchiffre wandeln willst. Ist das richtig?

Geschrieben

@Hahne.

Nein das ist nicht richtig. Ich weiß garnicht was die Begriffe bedeuten, die Du mir grad an den Kopf wirfst:D

Hier ist die Lösung...War eigentlich ganz einfach:

for (int i = 0; i < tbKunde.Text.Length; i++)
{
iKey -= tbKunde.Text[i];
}
tbLizenz.Text = iKey.ToString();[/PHP]

Danke für Eure Hilfe :)

Geschrieben
Kurze Frage zur Verständnis. Soll das eine Chiffre werden? Sieht mir ganz danach aus als wenn du deinen Klartext den du eingegeben hast durch das Umrechnen in ASCII und Subtrahieren des ASCII-Wertes von H in eine Geheimschrift wie die Caesarchiffre wandeln willst. Ist das richtig?

Wenn ich von der Benamung der zweiten Textbox ausgehe, dann soll das von ein "Lizenzgenerator" werden.

Für nen Anfänger sollten aber erstmal andere, grundlegende, Dinge wichtiger sein.

Geschrieben

Aso gut das habe ich übersehen. Kam mir halt mit dem Umrechnen in ASCII so bekannt vor. Hatte das mal früher ähnlich gemacht als ich eine Caesarchiffre programmiert hatte.

Geschrieben (bearbeitet)
Das hast Du schon gut erkannt.

Diese Variante einer Lizenzerstellung würde ich aber so nicht nutzen, da man, wenn es wirklich nur dieser Algorithmus ist, dies sehr leicht umgehen.

Bearbeitet von lbm1305
Geschrieben
Ich hätte eher sowas gedacht:


for (int i = 0; i < tbKunde.Text.Length; i++)

[INDENT]tbLizenz.Text += char.ConvertToUtf32(tbKunde.Text, i).ToString();[/INDENT]


Anderer Vorschlag (in einem Beispiel einer Console-Anwendung):

string txtEingabe = "Hallo Welt";


      foreach (var item in txtEingabe)

      {

        Console.Write((int)item);

      }

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...