# String in Binär umwandeln



## Luggees (28. Nov 2016)

Hallo zusammen,
ich bin jetzt auch neu angemeldet. Erstmal ein großes Lob an alle die hier so gute Hilfestellung leisten. Zu mir, ich habe ganz frisch mit Java begonnen und versuche mich der Zeit an meinen ersten Programmen.

Zu meiner Frage. Ich habe einen Code erstellt, welcher als ersten Schritt einen 6-Stelligen Code generiert aus Groß- und Kleinbuchstaben und Zahlen.

Dieser Code soll nun in die binäre Schreibweise nach ascii umgewandelt werden.

Hier der Code:


```
import java.util.*;
class PasswortGenerator
{
  public static void main ( String[] args )
  {
   
    Random rand = new Random();                         // Zufallsgenerator erzeugen
    int ziffern = 6;                                     // Länge des Codes

    String auswahl = "abcdefghijklmnopqrstuvwxyz" ;        // Auswahl der im Code vorkommenden Zeichen
    auswahl = auswahl + auswahl.toUpperCase() ;            // Vorherige Auswahl in Groß (Großbuchstaben)
    auswahl = auswahl + "1234567890" ;                    // Zahlen für den Code

    String passwort = "";                                // String wird am Ende der Code
    int j = 0;
    while ( j < ziffern )

    {
      passwort = passwort + auswahl.charAt( rand.nextInt( auswahl.length() ) ); // Code wir generiert
      j = j + 1;
    }

    System.out.printf("%s%n", passwort );            //Code zur Kontrolle ausgegeben/ der Code wird unter dem String "passwort" gespeichert
 

    char[] c =passwort.toCharArray();
    for(int i = 0; i < c.length; i++){
        System.out.print(Integer.toBinaryString((int) passwort.charAt(i)));             // BinärCode Ausgabe

     
    }
  }
}
```

Sorry für die ganzen Kommentare 

Ist der sechstellige Code jetzt beispielsweise "*wyOAY9*" soll als binär dieser Ausgegeben werden: "01110111 01111001 01001111 01000001 01011001 00111001"

Habe schon einen Beitrag gefunden der besagt das noch führende Nullen aufgefüllt werden sollen. Jedoch weiß ich nicht genau wie das funktioniert.

Ich wäre euch unglaublich dankbar wenn ihr mir helfen könnt. Oder auch Anregungen, das ich selbst drauf kommen könnte


----------



## Luggees (28. Nov 2016)

Hab das Problem gelöst danke !


----------



## Kababär (28. Nov 2016)

Moin und willkommen hier im Forum!

Hast es fast geschafft, also erstmal ein kleiner Denkanstoß:
Einen String kannst du auch als Folge von Zeichen verstehen. So kannst du die einzelnen Zeichen in einen int umwandeln und diesen int dann in die binäre Form bringen. Nützlich während die Methoden String.valueOf(...), String string.charAt(int i) und Integer.toBinaryString(...)

Viel Erfolg 


Edit: nicht dein Ernst  Glückwunsch


----------



## Terence86 (28. Nov 2016)

Super, hätte auch wie Kababär, den String in chars dargestellt usw.
Zur Ergänzung wäre schön wenn du den Code für andere postes wenn er geklappt hat, dann hat jeder was davon.
Info noch: http://java.soeinding.de/content.php/utilString


----------



## Luggees (28. Nov 2016)

Hey natürlich. Habe es einfach gelöst in dem ich eine 0 vorne angesetzt habe. Der Code sieht nun so aus 

```
char[] c =passwort.toCharArray();                // for-Schleife welche jede einzelene Position des Strings umwandelt
    String binärCode = "";                           
    binärCode += "";
    for(int i = 0; i < c.length; i++){
        System.out.print(0 + Integer.toBinaryString((int) passwort.charAt(i)));             
        System.out.printf("%s ", binärCode);
```


----------

