Bytes zu String, String zu Bytes

Leonhead

Mitglied
Hallo,
ich habe eine Problem ein Byte-Array zu einem String zu machen und wieder zurück.
Die Byte-Arrays sind dann zwar gleich lang aber der Inhalt stimmt nicht mehr.
Ich habe auch versucht bei dem new String und getBytes den charset auf "utf-8" zusetzen aber dann stimmt nicht einmal mehr die Länge der Byte-Arrays.

Java:
// bild in String
		BufferedImage imageReader = ImageIO.read(bild);
		
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		ImageIO.write(imageReader, "jpg", out);
		
		byte[] data = out.toByteArray();
		
		//Hier ist der String
		String strData = new String(data);
		
		//String in bild
		byte[] neuData=strData.getBytes();
		System.out.println(data.length + " " + neuData.length+" "+data.equals(neuData));//gibt false aus
 

Volvagia

Top Contributor
Versuche mal folgendes in Zeile 8 einzufügen:

Java:
byte[] unsigned = data;
data = new byte[unsigned.length];
for(int i = 0, size = data.lenght; i < size; i++)
	data[i] = (byte)(unsigned[i] & 0xFF);
 

Marco13

Top Contributor
Einen byte[]-Array als String zu speichern führt praktisch immer zu solchen Encoding-Problemen (insbesondere wenn der Array beliebige Daten (und eben nicht nur "printable ASCII-characters") enthält.

Kurz: Das macht man nicht! Mach' es anders.
 
D

despikyxd

Gast
mal so am rande ne GANZ DUMME frage : WARUM zur hölle willst du n byte-array in einen string umwandeln ?=!
und WENN ... dann mach es mit Base64 oder nem Hex-String *bitte google selbst wie man ein byte-array in einen hex-string und umgekehrt umwandelt*

aber wie bereits erwähnt : in der regel macht man so einen blödsinn nicht wegen encoding-problemen ...
 

Leonhead

Mitglied
So funktioniert es jetzt:
Java:
// bild in String
		BufferedImage imageReader = ImageIO.read(bild);
		
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		ImageIO.write(imageReader, "jpg", out);
		
		byte[] data = out.toByteArray();
		
		//Hier ist der String
		String strData = new BASE64Encoder().encode( data ); 
		
		//String in bild
		byte[] neuData = new BASE64Decoder().decodeBuffer( strData );
		
		java.awt.Toolkit t = java.awt.Toolkit.getDefaultToolkit();
		Image img = t.createImage(neuData);
		g.setImage(img);
 

Marco13

Top Contributor
Wenn hier jemand eine Frage stellt, will er i.a. nicht, dass die Frage hinterfragt wird, aber...: Das macht so nicht viel (bis gar keinen) Sinn. Sofern du nicht GANZ genau weißt, was du da tust (und warum) nochmal der Tipp: Lass' es...
 

Marco13

Top Contributor
Ach, AmunRa, sei doch nicht so schwer von Begriff :noe: Er will es natürlich in einen String umwandeln, weil er das Bild als String haben will. So schwer ist es doch nicht :noe:

( :joke: )
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Datentypen Int oder String in Bits/Bytes umwandeln Java Basics - Anfänger-Themen 10
2 Bestimmte Anzahl von Bytes lesen und als string ausgeben? Java Basics - Anfänger-Themen 3
N Bytes in einem String Java Basics - Anfänger-Themen 3
G Array von Bytes in String umwandeln Java Basics - Anfänger-Themen 4
A formatieren long(bytes) -> String Java Basics - Anfänger-Themen 2
M Bytes inkrementieren Java Basics - Anfänger-Themen 2
F ByteBuffer Fehler bei den letzten 2 Bytes Java Basics - Anfänger-Themen 1
P bytes aus einem InputStream zählen Java Basics - Anfänger-Themen 2
M Zahlen als Bytes in eine Datei speichern, daraus wieder auslesen Java Basics - Anfänger-Themen 2
A Char Bytes Umwandlung und Darstellung Java Basics - Anfänger-Themen 3
F Datei einlesen ( Bytes ) Java Basics - Anfänger-Themen 12
R Input/Output verschiedene Datentypen als Bytes in Datei speichern Java Basics - Anfänger-Themen 15
F code Optimierung (Bin-Hex-Bytes) Java Basics - Anfänger-Themen 9
A begrenzte Datenstruktur zur Speicherung von bytes Java Basics - Anfänger-Themen 6
G Datentypen bits, bytes, chars - Verständnisfrage Java Basics - Anfänger-Themen 5
I &-Zeichen und Bytes und co Java Basics - Anfänger-Themen 4
D Bytes für WAV Format anpassen Java Basics - Anfänger-Themen 5
F Bytes speichern Java Basics - Anfänger-Themen 5
S Problem mit url, inputStream und bytes beim Quellcode laden. Java Basics - Anfänger-Themen 6
P Hochgeladene Bytes anzeigen Java Basics - Anfänger-Themen 15
T Bytearray: immer 4 Bytes herrauskopieren, bis fertig ! Java Basics - Anfänger-Themen 9
M Aus einem Array von "bytes" ein "short" Java Basics - Anfänger-Themen 4
D Text-Datei(en) mit der Methode read(bytes[] b) auslesen Java Basics - Anfänger-Themen 4
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
D String Groß/Kleinschreibung Ignorieren Java Basics - Anfänger-Themen 4
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
Kartoffel_1 String transformation Java Basics - Anfänger-Themen 7
H String-Operation replace() - Zeichenkette verdoppeln Java Basics - Anfänger-Themen 2
K String analysieren Java Basics - Anfänger-Themen 27
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
E String zerlegen aus args Java Basics - Anfänger-Themen 1
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
J String Filter Java Basics - Anfänger-Themen 5
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D 2D Char Array into String Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
I Zerlegen von String Java Basics - Anfänger-Themen 3
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
I String Java Basics - Anfänger-Themen 4
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
Substring in einem String finden Java Basics - Anfänger-Themen 13
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
T String splitten Java Basics - Anfänger-Themen 3
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
T Platzhalter in String? Java Basics - Anfänger-Themen 14
M String mit Variable vergleichen Java Basics - Anfänger-Themen 9
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
R Ein Multidimensionales String Array initialisieren und Deklarieren Java Basics - Anfänger-Themen 2
H String Repräsentation eines Rechtecks mit Instanz-Methode Java Basics - Anfänger-Themen 8
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
S String mit Int input vergleichen Java Basics - Anfänger-Themen 5
C String/Char-API Java Basics - Anfänger-Themen 13
U Char zu einem String machen Java Basics - Anfänger-Themen 1
B Anzahl Nullen uns Einsen in String ermitteln Java Basics - Anfänger-Themen 3
T Leerzeichen im String entfernen Java Basics - Anfänger-Themen 6
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
O Ich habe einen String und soll mit matches schauen, ob ein Buchstabe zu einer geraden ANzahl im String vorkommt, wie soll das gehen? Java Basics - Anfänger-Themen 7
M String beim einlesen formatieren Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben