de.bsvrz.sys.funclib.hexdump
Class HexDumper

java.lang.Object
  extended by de.bsvrz.sys.funclib.hexdump.HexDumper

public class HexDumper
extends Object

Klasse zum Erzeugen von Hex-Dumps. Ein Hex-Dump enthält ein Darstellung der in einem Byte-Array enthaltenen Bytes. Beispiel:

 00000000:  20 21 22 23  24 25 26 27  28 29 2A 2B  2C 2D 2E 2F     !"#$%&'()*+,-./
 00000010:  30 31 32 33  34 35 36 37  38 39 3A 3B  3C 3D 3E 3F    0123456789:;<=>?
 00000020:  40 41 42 43  44 45 46 47  48 49 4A 4B  4C 4D 4E 4F    @ABCDEFGHIJKLMNO
 00000030:  50 51 52 53  54 55 56 57  58 59 5A 5B  5C 5D 5E 5F    PQRSTUVWXYZ[\]^_
Eine Zeile eines Hexdumps enthält die Darstellung von bis zu 16 Bytes des Byte-Arrays. Links wird die Adresse des ersten Bytes der Zeile dargestellt, in der Mitte werden die Bytes in Hexadezimaler Form und rechts in lesbarer Form dargestellt. Für die lesbare Darstellung wird die ISO-8859-1 Kodierung angenommen und nicht darstellbare Zeichen werden durch Punkte ersetzt.

Author:
Kappich Systemberatung

Nested Class Summary
private static interface HexDumper.DumpOutput
          Schnittstelle, die die von der dump(byte[]) Methode verwendete Ausgabemethode definiert.
private static class HexDumper.StreamOutput
           
private static class HexDumper.StringOutput
           
 
Field Summary
private  HexDumper.DumpOutput _out
           
private static char[] DIGITS
           
 
Constructor Summary
HexDumper()
          Erzeugt ein neues HexDumper-Objekt, das bei der Ausgabe über dump(...) den PrintStream System.out benutzt.
HexDumper(PrintStream out)
          Erzeugt ein neues HexDumper-Objekt, das zur Ausgabe über dump(...) das angegebene PrintStream-Objekt benutzt.
 
Method Summary
 void dump(byte[] bytes)
          Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf den PrintStream aus, der diesem HexDumper-Objekt im Konstruktor zugeordnet wurde.
 void dump(byte[] bytes, int startOffset, int count)
          Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf den PrintStream aus, der diesem HexDumper-Objekt im Konstruktor zugeordnet wurde.
private static void dump(HexDumper.DumpOutput out, int baseAddress, byte[] bytes, int startOffset, int count)
           
 void dump(int baseAddress, byte[] bytes)
          Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf den PrintStream aus, der diesem HexDumper-Objekt im Konstruktor zugeordnet wurde.
 void dump(int baseAddress, byte[] bytes, int startOffset, int count)
          Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf den PrintStream aus, der diesem HexDumper-Objekt im Konstruktor zugeordnet wurde.
static void dumpTo(PrintStream out, byte[] bytes)
          Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf einen PrintStream aus.
static void dumpTo(PrintStream out, byte[] bytes, int startOffset, int count)
          Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf einen PrintStream aus.
static void dumpTo(PrintStream out, int baseAddress, byte[] bytes)
          Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf einen PrintStream aus.
static void dumpTo(PrintStream out, int baseAddress, byte[] bytes, int startOffset, int count)
          Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf einen PrintStream aus.
static byte[] toBytes(int[] ints)
          Konvertiert ein Int-Array in ein Byte-Array.
static String toString(byte[] bytes)
          Konvertiert ein Byte-Array in ein Hex-Dump.
static String toString(byte[] bytes, int startOffset, int count)
          Konvertiert ein Byte-Array in ein Hex-Dump.
static String toString(int baseAddress, byte[] bytes)
          Konvertiert ein Byte-Array in ein Hex-Dump.
static String toString(int baseAddress, byte[] bytes, int startOffset, int count)
          Konvertiert ein Byte-Array in ein Hex-Dump.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_out

private final HexDumper.DumpOutput _out

DIGITS

private static final char[] DIGITS
Constructor Detail

HexDumper

public HexDumper()
Erzeugt ein neues HexDumper-Objekt, das bei der Ausgabe über dump(...) den PrintStream System.out benutzt.


HexDumper

public HexDumper(PrintStream out)
Erzeugt ein neues HexDumper-Objekt, das zur Ausgabe über dump(...) das angegebene PrintStream-Objekt benutzt.

Parameters:
out - PrintStream-Objekt, das bei der Ausgabe mit den Funktionen
Method Detail

toString

public static String toString(byte[] bytes)
Konvertiert ein Byte-Array in ein Hex-Dump.

Parameters:
bytes - Array mit zu konvertierenden Bytes.
Returns:
Hex-Dump

toString

public static String toString(byte[] bytes,
                              int startOffset,
                              int count)
Konvertiert ein Byte-Array in ein Hex-Dump.

Parameters:
bytes - Array mit zu konvertierenden Bytes.
startOffset - Index des ersten zu konvertierenden Bytes im Array.
count - Anzahl der zu konvertierenden Bytes.
Returns:
Hex-Dump

toString

public static String toString(int baseAddress,
                              byte[] bytes)
Konvertiert ein Byte-Array in ein Hex-Dump.

Parameters:
baseAddress - Offset für die Addressausgaben. Der angegebene Wert wird als Adresse des ersten Bytes im Byte-Array interpretiert.
bytes - Array mit zu konvertierenden Bytes.
Returns:
Hex-Dump

toString

public static String toString(int baseAddress,
                              byte[] bytes,
                              int startOffset,
                              int count)
Konvertiert ein Byte-Array in ein Hex-Dump.

Parameters:
baseAddress - Offset für die Addressausgaben. Der angegebene Wert wird als Adresse des ersten Bytes im Byte-Array interpretiert.
bytes - Array mit zu konvertierenden Bytes.
startOffset - Index des ersten zu konvertierenden Bytes im Array.
count - Anzahl der zu konvertierenden Bytes.
Returns:
Hex-Dump

dumpTo

public static void dumpTo(PrintStream out,
                          byte[] bytes)
Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf einen PrintStream aus.

Parameters:
out - PrintStream der zur Ausgabe benutzt werden soll.
bytes - Array mit zu konvertierenden Bytes.

dumpTo

public static void dumpTo(PrintStream out,
                          byte[] bytes,
                          int startOffset,
                          int count)
Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf einen PrintStream aus.

Parameters:
out - PrintStream der zur Ausgabe benutzt werden soll.
bytes - Array mit zu konvertierenden Bytes.
startOffset - Index des ersten zu konvertierenden Bytes im Array.
count - Anzahl der zu konvertierenden Bytes.

dumpTo

public static void dumpTo(PrintStream out,
                          int baseAddress,
                          byte[] bytes)
Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf einen PrintStream aus.

Parameters:
out - PrintStream der zur Ausgabe benutzt werden soll.
baseAddress - Offset für die Addressausgaben. Der angegebene Wert wird als Adresse des ersten Bytes im Byte-Array interpretiert.
bytes - Array mit zu konvertierenden Bytes.

dumpTo

public static void dumpTo(PrintStream out,
                          int baseAddress,
                          byte[] bytes,
                          int startOffset,
                          int count)
Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf einen PrintStream aus.

Parameters:
out - PrintStream der zur Ausgabe benutzt werden soll.
baseAddress - Offset für die Addressausgaben. Der angegebene Wert wird als Adresse des ersten Bytes im Byte-Array interpretiert.
bytes - Array mit zu konvertierenden Bytes.
startOffset - Index des ersten zu konvertierenden Bytes im Array.
count - Anzahl der zu konvertierenden Bytes.

dump

public void dump(byte[] bytes)
Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf den PrintStream aus, der diesem HexDumper-Objekt im Konstruktor zugeordnet wurde.

Parameters:
bytes - Array mit zu konvertierenden Bytes.

dump

public void dump(byte[] bytes,
                 int startOffset,
                 int count)
Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf den PrintStream aus, der diesem HexDumper-Objekt im Konstruktor zugeordnet wurde.

Parameters:
bytes - Array mit zu konvertierenden Bytes.
startOffset - Index des ersten zu konvertierenden Bytes im Array.
count - Anzahl der zu konvertierenden Bytes.

dump

public void dump(int baseAddress,
                 byte[] bytes)
Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf den PrintStream aus, der diesem HexDumper-Objekt im Konstruktor zugeordnet wurde.

Parameters:
baseAddress - Offset für die Addressausgaben. Der angegebene Wert wird als Adresse des ersten Bytes im Byte-Array interpretiert.
bytes - Array mit zu konvertierenden Bytes.

dump

public void dump(int baseAddress,
                 byte[] bytes,
                 int startOffset,
                 int count)
Konvertiert ein Byte-Array in ein Hex-Dump und gibt das Ergebnis auf den PrintStream aus, der diesem HexDumper-Objekt im Konstruktor zugeordnet wurde.

Parameters:
baseAddress - Offset für die Addressausgaben. Der angegebene Wert wird als Adresse des ersten Bytes im Byte-Array interpretiert.
bytes - Array mit zu konvertierenden Bytes.
startOffset - Index des ersten zu konvertierenden Bytes im Array.
count - Anzahl der zu konvertierenden Bytes.

toBytes

public static byte[] toBytes(int[] ints)
Konvertiert ein Int-Array in ein Byte-Array. Dabei werden int-Werte zwischen 0 und 255 in entsprechende Werte eines Bytes konvertiert (0 bis 127 und -128 bis -1). Andere Werte führen zu einer RunTimeException

Parameters:
ints - Zu konvertierendes int-Array mit Werten zwischen 0 und 255.
Returns:
byte-Array mit entsprechenden Werten im Bereich 0 bis 127 und -128 bis -1.
Throws:
IllegalArgumentException - Wenn im zu konvertierenden int-Array Werte außerhalb des Bereich 0-255 vorkommen.

dump

private static void dump(HexDumper.DumpOutput out,
                         int baseAddress,
                         byte[] bytes,
                         int startOffset,
                         int count)