Dies ist als Duplikat markiert für Drucken eines Byte[] . Hinweis: Für ein Byte-Array gibt es zusätzliche Methoden, die geeignet sein können.
Sie können ihn als String drucken, wenn er ISO-8859-1-Zeichen enthält.
String s = new String(bytes, StandardChars.ISO_8559);
System.out.println(s);
// to reverse
byte[] bytes2 = s.getBytes(StandardChars.ISO_8559);
oder wenn sie eine UTF-8-Zeichenfolge enthält
String s = new String(bytes, StandardChars.UTF_8);
System.out.println(s);
// to reverse
byte[] bytes2 = s.getBytes(StandardChars.UTF_8);
oder wenn Sie es als Hexadezimalwert drucken möchten.
String s = DatatypeConverter.printHexBinary(bytes);
System.out.println(s);
// to reverse
byte[] bytes2 = DatatypeConverter.parseHexBinary(s);
oder wenn Sie es als base64 drucken wollen.
String s = DatatypeConverter.printBase64Binary(bytes);
System.out.println(s);
// to reverse
byte[] bytes2 = DatatypeConverter.parseBase64Binary(s);
oder wenn Sie ein Array von vorzeichenbehafteten Byte-Werten drucken wollen
String s = Arrays.toString(bytes);
System.out.println(s);
// to reverse
String[] split = s.substring(1, s.length() - 1).split(", ");
byte[] bytes2 = new byte[split.length];
for (int i = 0; i < bytes2.length; i++)
bytes2[i] = Byte.parseByte(split[i]);
oder wenn Sie ein Array von Byte-Werten ohne Vorzeichen drucken wollen
String s = Arrays.toString(
IntStream.range(0, bytes.length).map(i -> bytes[i] & 0xFF).toArray());
System.out.println(s);
// to reverse
String[] split = s.substring(1, s.length() - 1).split(", ");
byte[] bytes2 = new byte[split.length];
for (int i = 0; i < bytes2.length; i++)
bytes2[i] = (byte) Integer.parseInt(split[i]); // might need a range check.
9 Stimmen
Was soll die Darstellung für andere Objekte als Strings sein? Das Ergebnis des Aufrufs von toString? In Anführungszeichen oder nicht?
3 Stimmen
Ja, die Objekte werden durch ihre toString()-Methode und ohne Anführungszeichen dargestellt (die Beispielausgabe wurde gerade bearbeitet).
2 Stimmen
In der Praxis, eng verbunden mit stackoverflow.com/questions/29140402/
1 Stimmen
Diese merkwürdige Ausgabe ist nicht unbedingt der Speicherort. Es ist die
hashCode()
in hexadezimaler Form. SieheObject#toString()
.1 Stimmen
Um ein eindimensionales oder mehrdimensionales Array in Java8 zu drucken, prüfen Sie stackoverflow.com/questions/409784/
0 Stimmen
Verwandt: Konvertieren eines Arrays von Strings in einen String in Java & Wie kann ich mein Java-Objekt drucken, ohne "SomeType@2f92e0f4" zu erhalten?
0 Stimmen
Verwandt: stackoverflow.com/questions/62191507/