diff --git a/src/zutil/ByteUtil.java b/src/zutil/ByteUtil.java index c934eef..6a1d807 100755 --- a/src/zutil/ByteUtil.java +++ b/src/zutil/ByteUtil.java @@ -24,6 +24,8 @@ package zutil; +import zutil.converter.Converter; + /** * Utility functions for byte primitive type * @@ -124,4 +126,54 @@ public class ByteUtil { throw new IllegalArgumentException("Invalid length argument: "+length+", allowed values: 1 to "+(index+1)+" for index "+index); return (byte) BYTE_MASK[index][length]; } + + /** + * Presents a binary array in HEX and ASCII + * + * @param data The source binary data to format + * @return A multiline String with human readable HEX and ASCII + */ + public static String toFormattedString(byte[] data){ + StringBuffer output = new StringBuffer(); + + //000 XX XX XX XX XX XX XX XX '........' + int maxOffset = (""+data.length).length(); + for(int offset=0; offset SPACES = new ArrayList(); /** diff --git a/src/zutil/converter/Converter.java b/src/zutil/converter/Converter.java index 129ac41..2c855a2 100755 --- a/src/zutil/converter/Converter.java +++ b/src/zutil/converter/Converter.java @@ -73,7 +73,9 @@ public class Converter { */ public static byte[] toBytes(char[] arr){ byte[] ret = new byte[arr.length]; - System.arraycopy(arr, 0, ret, 0, arr.length); + for (int i=0; i