Package xyz.cofe.text
Class BytesDump
- java.lang.Object
-
- xyz.cofe.text.BytesDump
-
public class BytesDump extends java.lang.ObjectДамп байт массива
Примерbyte[] bytes = ( "0123456789abcdef _ABCDEFG" ).getBytes(StandardCharsets.ISO_8859_1); BytesDump dump = new BytesDump.Builder().relative( decoder -> { decoder .name(0, 2, "head") .decode(4, bytes1 -> new String(bytes1,StandardCharsets.ISO_8859_1)); }).build(); System.out.println(dump.dump(bytes));Вывод:0|30 31 |head 2| 32 33 34 35 |2345 6| 36 37 38 39 61 62 63 64 65 66 10|20 5f 41 42 43 44 45 46 47
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBytesDump.Builder"Строитель"static classBytesDump.DecodeДекодирование очередной порции байтовstatic classBytesDump.DecodedРасшифровка набора байт
-
Field Summary
Fields Modifier and Type Field Description protected intdefBytesPerLineprotected java.lang.StringdescDelimiterprotected intoffsetAlignprotected java.lang.StringoffsetDelimiterprotected intoffsetRadixprotected intoffsetWidthКол-во символом отведенных для смещенияprotected java.util.function.Function<BytesDump.Decode,java.util.Optional<BytesDump.Decoded>>previewprotected intptrAlign
-
Constructor Summary
Constructors Constructor Description BytesDump()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Stringdump(byte[] buff)Дамп байтовjava.lang.Stringdump(byte[] buff, int off, int len)Дамп байтовintgetDefBytesPerLine()Возвращает кол-во байт на линию по умолчаниюjava.lang.StringgetDescDelimiter()intgetOffsetAlign()Возвращает как выравнивать начала массива байт, по какому размеруjava.lang.StringgetOffsetDelimiter()intgetOffsetRadix()intgetOffsetWidth()Кол-во символом отведенных для смещенияjava.util.function.Function<BytesDump.Decode,java.util.Optional<BytesDump.Decoded>>getPreview()Указывает функцию дешифровки порции байт.intgetPtrAlign()Возвращает как выравнивать текущую позицию, по какому размеруvoidsetDefBytesPerLine(int defBytesPerLine)Указывает кол-во байт на линию по умолчаниюvoidsetDescDelimiter(java.lang.String descDelimiter)voidsetOffsetAlign(int v)Указывает как выравнивать начала массива байт, по какому размеруvoidsetOffsetDelimiter(java.lang.String offsetDelimiter)voidsetOffsetRadix(int offsetRadix)voidsetOffsetWidth(int offsetWidth)Кол-во символом отведенных для смещенияvoidsetPreview(java.util.function.Function<BytesDump.Decode,java.util.Optional<BytesDump.Decoded>> preview)Указывает функцию дешифровки порции байтvoidsetPtrAlign(int v)Указывает как выравнивать текущую позицию, по какому размеру
-
-
-
Field Detail
-
offsetAlign
protected int offsetAlign
-
ptrAlign
protected int ptrAlign
-
offsetWidth
protected int offsetWidth
Кол-во символом отведенных для смещения
-
offsetRadix
protected int offsetRadix
-
offsetDelimiter
protected java.lang.String offsetDelimiter
-
descDelimiter
protected java.lang.String descDelimiter
-
defBytesPerLine
protected int defBytesPerLine
-
preview
protected java.util.function.Function<BytesDump.Decode,java.util.Optional<BytesDump.Decoded>> preview
-
-
Method Detail
-
getOffsetAlign
public int getOffsetAlign()
Возвращает как выравнивать начала массива байт, по какому размеру- Returns:
- выравнивание
-
setOffsetAlign
public void setOffsetAlign(int v)
Указывает как выравнивать начала массива байт, по какому размеру- Parameters:
v- выравнивание
-
getPtrAlign
public int getPtrAlign()
Возвращает как выравнивать текущую позицию, по какому размеру- Returns:
- выравнивание
-
setPtrAlign
public void setPtrAlign(int v)
Указывает как выравнивать текущую позицию, по какому размеру- Parameters:
v- выравнивание
-
getOffsetWidth
public int getOffsetWidth()
Кол-во символом отведенных для смещения- Returns:
- Кол-во символов
-
setOffsetWidth
public void setOffsetWidth(int offsetWidth)
Кол-во символом отведенных для смещения- Parameters:
offsetWidth- Кол-во символов
-
getOffsetRadix
public int getOffsetRadix()
-
setOffsetRadix
public void setOffsetRadix(int offsetRadix)
-
getOffsetDelimiter
public java.lang.String getOffsetDelimiter()
-
setOffsetDelimiter
public void setOffsetDelimiter(java.lang.String offsetDelimiter)
-
getDescDelimiter
public java.lang.String getDescDelimiter()
-
setDescDelimiter
public void setDescDelimiter(java.lang.String descDelimiter)
-
getDefBytesPerLine
public int getDefBytesPerLine()
Возвращает кол-во байт на линию по умолчанию- Returns:
- кол-во байт на линию по умолчанию
-
setDefBytesPerLine
public void setDefBytesPerLine(int defBytesPerLine)
Указывает кол-во байт на линию по умолчанию- Parameters:
defBytesPerLine- кол-во байт на линию по умолчанию
-
getPreview
public java.util.function.Function<BytesDump.Decode,java.util.Optional<BytesDump.Decoded>> getPreview()
Указывает функцию дешифровки порции байт.dump.setPreview( d -> { if( d.getPointer()==2 ) return d.respone(2,"2 chars: "+new String(d.getBytes(),d.getPointer(),2,StandardCharsets.ISO_8859_1)); if( d.getPointer()==4 ) return d.respone(4,"4 chars: "+new String(d.getBytes(),d.getPointer(),4,StandardCharsets.ISO_8859_1)); return Optional.empty(); });- Returns:
- функция дешифровки
-
setPreview
public void setPreview(java.util.function.Function<BytesDump.Decode,java.util.Optional<BytesDump.Decoded>> preview)
Указывает функцию дешифровки порции байт- Parameters:
preview- функция дешифровки
-
dump
public java.lang.String dump(byte[] buff)
Дамп байтов- Parameters:
buff- байт-массив- Returns:
- Дамп
-
dump
public java.lang.String dump(byte[] buff, int off, int len)Дамп байтов- Parameters:
buff- байт-массивoff- смещение в массивеlen- кол-во байт- Returns:
- Дамп
-
-