ASCII als 8-bit Binärstring darstellen

blueJisCrap

Mitglied
Hi,

Und zwar habe ich ein beliebiges ASCII-Zeichen als Eingangswert, ausgelesen aus einer Datei. Nun möchte ich dieses Zeichen in einen String umwandeln, der den Index des Zeichens in Binärform darstellt (inklusive eventueller Nullen vor dem ersten Einser). Nur komme ich nicht drauf wie ich vom char zur gewünschten Form komme, wäre also für Erklärungen, Beispiele oder auch Anregungen dankbar.

Code:
Input: 'Q'
Index: 81
Output: "01010001"

Gruss
 
N

nillehammer

Gast
- char wird von Java auch als Zahl interpretiert (siehe Post von Gassst)
- diesen kann man einer int Variablen zuweisen (auch siehe Post von Gassst)
- daraus macht man einen Integer
- auf dem ruft man toBinaryString auf. Dort werden führende Nullen leider nicht mit dargestellt.
- die führenden Nullen kann man mit String.format() (%8d) ausgeben
 

blueJisCrap

Mitglied
- char wird von Java auch als Zahl interpretiert (siehe Post von Gassst)
- diesen kann man einer int Variablen zuweisen (auch siehe Post von Gassst)
- daraus macht man einen Integer
- auf dem ruft man toBinaryString auf. Dort werden führende Nullen leider nicht mit dargestellt
So weit, so gut.

- die führenden Nullen kann man mit String.format() (%8d) ausgeben
An dem Punkt häng ich wieder. Ich hab versucht, diese Seite zu verstehen, was allerdings nicht wirklich geklappt hat...

EDIT: Das Problem hab ich jetzt durch eine einfache while Schleife gelöst, die Nullen an den Anfang setzt bis der String die Länge 8 hat. Die Lösung mit String.format(...) würde mich dennoch interessieren ;)
Allerdings hat sich jetzt ein mit dem Thema verwandtes Problem ergeben, da ich nämlich nicht nur ein Zeichen, sondern eine ganze Zeichenkette umwandeln will. Das Problem besteht darin, dass ich zwar einen String der richtigen Länge, aber des falschen Inhalts bekomme (eine Wiederholung eines einzelnen Binärstrings statt der gewünschten Aneinanderreihung verschiedener).

Kurz gesagt: Ich habe test1.txt, möchte level1.txt und bekomme aber test2.txt.

Hier der Code dazu:
Java:
import java.lang.ArrayIndexOutOfBoundsException;
import java.io.*;

public class Test
{
    public static void downgrade(String inputF, String outputF)
    {
        try
        {
            //Einlesen der Datei und splitten des Eingangsstrings
            File inputFile = new File(inputF + ".txt");
            FileReader reader = new FileReader(inputFile);
            String result = "";
            for(;;)
            {
                int readout = reader.read();
                if(readout == -1)
                {
                    break;
                }
                result = result + (char) readout;
            }
            String[] content = result.split("ª");
            String outCont = content[0] + " " + content[1] + " ";
            
            //Der interessante Teil: Umwandeln von content[2] in einen BinaryString
            int b = content[2].length();
            for(int i = 0; i < b; i++)
            {
                String part = Integer.toBinaryString(content[2].charAt(b - 1));
                while(part.length() < 8)
                {
                    part = "0" + part;
                }
                outCont = outCont + part;
            }
            char[] output = outCont.toCharArray();
            
            //Erstllen und beschreiben der Ausgangsdatei
            File outputFile = new File(outputF + ".txt");
            FileWriter writer = new FileWriter(outputF + ".txt");
            writer.write(output);
            writer.close();
        }
        catch(FileNotFoundException e404)
        {
            System.out.println("Error: " + e404.getMessage());
            System.exit(1);
        }
        catch(IOException eIO)
        {
            System.out.println("Error: " + eIO.getMessage());
            System.exit(1);
        }
        catch(ArrayIndexOutOfBoundsException eAIOOBE)
        {
            System.out.println("Error: " + eAIOOBE.getMessage());
            System.exit(1);
        }
    }
}

Ach ja, kurz zum Sinn dahinter: Ich arbeite nach wie vor an meinem kleinen Snake-Klon, mit dem ich vor ca. einem Jahr begonnen, dann fast 1 Jahr habe ruhen lassen, vor ca. 1 Monat wieder ausgegraben und (fast) komplett neu geschrieben habe. Dieser Codeausschnitt dient der Optimierung des Levelformats :D Die Nullen und Einsen repräsentieren Barrieren und freie Felder.
 

Anhänge

  • test1.txt
    93 Bytes · Aufrufe: 3
  • test2.txt
    702 Bytes · Aufrufe: 3
  • level1.txt
    699 Bytes · Aufrufe: 2
Zuletzt bearbeitet:
N

nillehammer

Gast
An dem Punkt häng ich wieder. Ich hab versucht, diese Seite zu verstehen, was allerdings nicht wirklich geklappt hat...
Spiel mit den Optionen mal ein bischen herum. Es lohnt sich. Das kann man gut gebrauchen. Aber für Deinen konkreten Anwendungsfall ist es wohl eher nicht passend. Tschuldige, war schon spät gestern. Sowas in der Art könnte funktionieren:
Java:
// binaryString ist der ASCII-Wert Deines chars in Binärform
final String eightZeros = "00000000";
String result = eightZeros.substring(binaryString.lengh()) + binaryString;
 
S

Spacerat

Gast
Willst es mal so versuchen?
Java:
String bin = String.format("%8s", Integer.toBinaryString(255 & 'Q')).replace(' ', '0');
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Übermittlung zusätzlicher ASCII-Zeichen bei Übertragung von Dateiinhalt mit Xmodem - JAVA Allgemeine Java-Themen 9
R Datentypen Korrekte integer in Hex ASCII Konvertierung und serialisierung Allgemeine Java-Themen 1
B Hilfe!! spiel um Funktion des Selektierens erweitern (mit ASCII-Tabelle) Allgemeine Java-Themen 3
C ASCII-Code in Java Allgemeine Java-Themen 1
C BigInteger nach ASCII Code in String Allgemeine Java-Themen 11
cedi int Zahl in ein ASCII zeichen umwandeln und dieses in ein externes Textfenster schreiben Allgemeine Java-Themen 6
C Datei als ASCII text einlesen ? Allgemeine Java-Themen 16
D Datei mit allen Ascii Zeichen Allgemeine Java-Themen 2
P Ascii Bild aus einem input file nur kommt nix im outputfile an?????? Allgemeine Java-Themen 5
F Hexcode von ASCII Zeichen erhalten Allgemeine Java-Themen 2
dru Graph aus Ascii Daten erstellen Allgemeine Java-Themen 2
S Hexzahl in ASCII umwandeln Allgemeine Java-Themen 3
R Auslesen von File - ASCII und Binärzeichen Allgemeine Java-Themen 13
D Datei im DOS/ASCII-Format einlesen. Allgemeine Java-Themen 9
Daniel_L ASCII in UniCode umwandeln? Allgemeine Java-Themen 14
K Datei als HEX oder dezimal gem. ASCII einlesen Allgemeine Java-Themen 4
S String auf ASCII Kodierung überprüfen? Allgemeine Java-Themen 4
F Unicode zu ASCII konvertieren Allgemeine Java-Themen 5
E Alarm ausgeben (ASCII Zeichen 7) über Lautsprecher Allgemeine Java-Themen 11
I Nochmal ASCII-Code Allgemeine Java-Themen 9
I ASCII Code in Java Allgemeine Java-Themen 3
B ASCII-Gui Bibliothek Allgemeine Java-Themen 2
M ASCII85 to ASCII Allgemeine Java-Themen 4
S int nach Ascii konvertieren Allgemeine Java-Themen 2
U ASCII ZEichenkette wird net richtig ausgegeben Allgemeine Java-Themen 2
M Problem mit bestimmten ASCII Codes Allgemeine Java-Themen 3
I Suche Methode: Buchstaben in ASCII umwandelt Allgemeine Java-Themen 2
R ascii-wert zuweisung Allgemeine Java-Themen 4
J String in ASCII werte umwandeln Allgemeine Java-Themen 7
T ASCII decodieren Allgemeine Java-Themen 4
berserkerdq2 Weiß jemand wie ich im Scenebuilder das Fenster so darstellen kann, dass beim Vollbildmodus die Objekte so angezeigt werden? Allgemeine Java-Themen 1
M Wie könnte man den Codeschnipsel rekursiv darstellen? Allgemeine Java-Themen 1
S Neues Objekt darstellen Allgemeine Java-Themen 4
J Code Page characters darstellen Allgemeine Java-Themen 12
C Symbol für Gaußsche Summenformel in Kommentarzeile darstellen Allgemeine Java-Themen 3
E Swing Array mit Bildern in GUI darstellen Allgemeine Java-Themen 2
A Kalender darstellen Allgemeine Java-Themen 1
D JPanel in Mail darstellen Allgemeine Java-Themen 30
T 4x4 Tabelle als Bitboard darstellen Allgemeine Java-Themen 5
KilledByCheese 2D-Grafik 2D-Array als Gitter darstellen Allgemeine Java-Themen 2
D AWT Tiff-Datei darstellen bzw in darstellbares Format umwandeln Allgemeine Java-Themen 2
L Best Practice Log Dateien analysieren und eventuell passende Daten am Chart darstellen Allgemeine Java-Themen 1
S Text in mehreren Sprachen korrekt darstellen? Wie waehle ich die Fonts aus..? Allgemeine Java-Themen 0
K AWT Aus einer Datei die Koordinaten Angaben herauslesen und dreidimensional darstellen Allgemeine Java-Themen 2
M DYGraphen darstellen... fehlende Einstellungen Allgemeine Java-Themen 1
L Zwei Files miteinander vergleichen und Grafisch darstellen Allgemeine Java-Themen 1
M Temperaturverlauf in Farbe darstellen Allgemeine Java-Themen 8
J [JPA] Overlaps mit JPQL darstellen Allgemeine Java-Themen 2
R Hierarchie mit HashMap darstellen Allgemeine Java-Themen 19
K Java Operatoren mit Strings darstellen Allgemeine Java-Themen 8
Crashbreaker RCP-View Image öffnen und darstellen Allgemeine Java-Themen 7
A Excel Tabelle in JFrame darstellen Allgemeine Java-Themen 6
K Beziehung darstellen Allgemeine Java-Themen 4
J Hex Werte in Bitmap Raster darstellen Allgemeine Java-Themen 16
0 2D-Grafik Wertegruppen darstellen Allgemeine Java-Themen 2
B Excel Datei in einem Java Programm mit GUI darstellen Allgemeine Java-Themen 9
C BigInteger in Exponentialschreibweise darstellen Allgemeine Java-Themen 2
S Java-Klassen Abhaengigkeiten grafisch darstellen? Allgemeine Java-Themen 4
R sHotEqn --> LaTeX-Code darstellen Allgemeine Java-Themen 8
E Wie Hexzahl als String darstellen? Allgemeine Java-Themen 4
S suche library die diagramme darstellen kann Allgemeine Java-Themen 2
G Kommazahlen mit Komma in Textfeld darstellen Allgemeine Java-Themen 11
A Text durchgestrichen in einer Tabelle darstellen Allgemeine Java-Themen 2
U PGM darstellen Allgemeine Java-Themen 5
P Chart, Kennlinien darstellen Allgemeine Java-Themen 3
G Diagramm darstellen mit Javascript Allgemeine Java-Themen 41
P Images abwechselnd Darstellen Allgemeine Java-Themen 12
E Image auf einem JLabel darstellen Allgemeine Java-Themen 3
G diagramm um Zustände darstellen zu können Allgemeine Java-Themen 5
Y Zeichen verschiedenfarbig in einer JTextPane darstellen Allgemeine Java-Themen 17
E Spezielle Buchstaben darstellen? Allgemeine Java-Themen 7
R Bild downloaden und darstellen lassen Allgemeine Java-Themen 5
D Mathematische Funktion grafisch in Java darstellen Allgemeine Java-Themen 2
L Spielerei: Frame rekursiv darstellen Allgemeine Java-Themen 3
G Mathematische Zeichen darstellen Allgemeine Java-Themen 6
thE_29 Wie hex Zahlen darstellen Allgemeine Java-Themen 3
K Vektoren darstellen. Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben