2008-12-19 3 views
8

Ich möchte einen einfachen Detailformatierer schreiben, der byte[] Daten in Form von String anzeigt (unter Verwendung String.<init>([B), um die schmutzige Arbeit zu erledigen).Wie kann ich ein Byte-Array als String im Debug-Detail-Formatierer von Java anzeigen?

Allerdings bin ich nicht sicher, wie Sie den Klassennamen für [B finden, um beim Erstellen des Formatierungsprogramms zu verwenden. Ist das überhaupt möglich? Oder gibt es alternativ eine andere Möglichkeit, Bytearrays als Strings im Debugger anzuzeigen?

+0

Wenn es eine einzige Methode gäbe, die das getan hat, was Sie wollen, was wären seine Inputs und Outputs? –

+0

Angenommen, ich habe eine Byte-Array: [65, 66, 67] Ich würde erwarten, "ABC" (habe ich den Fall richtig? Mein ASCII-Fu ist schwach ...) –

Antwort

16

Ich weiß nicht, wie man Eclipse's Detailformatierer bekommt, um automatisch Bytearrays als Strings anzuzeigen, aber Sie können ein bestimmtes Bytearray anzeigen, indem Sie new String(byteArray) als Watch-Ausdruck hinzufügen.

+0

+1 Sie können ein Byte-Array nicht als Zeichenfolge anzeigen, aber Ihre Methode ist am ehesten auf die Frage ausgerichtet –

+2

Achten Sie auf die Zeichencodierung. Die 'neue Zeichenkette (Bytes)' verwendet eine Plattform-Standardzeichencodierung, die an sich nicht die korrekte Zeichencodierung sein kann. – BalusC

0
byte[].class 
+1

Das sagt mir die Klasse, aber doesn Ich darf das Byte-Array nicht als String formatieren. Irgendeine Idee, wie man von hier nach dort kommt? –

1

Wenn Ihre Frage ist, wie würde ich eine String-Darstellung eines Byte-Array von [0,1,2] sein „[0,1,2]“, würde ich vorschlagen, dass Sie einen Blick auf, Arrays.toString (byte [])

http://java.sun.com/javase/6/docs/api/java/util/Arrays.html#toString(byte[])

+0

Nein, ich möchte die Bytes als UTF-8-String-Daten interpretieren. –

+0

Genauer gesagt, ich möchte den Detailformatierer von Eclipse dazu verwenden. –

0

[B-Typ kann mit byte []. Klasse abgerufen werden.

1

Sie können keine Detailformatier für einfache Datentypen wie byte hinzufügen.