001package ca.uhn.hl7v2.hoh.util;
002
003public class ByteUtils {
004
005        // non instantiable
006        private ByteUtils() {}
007        
008        /**
009         * Formats a byte array for logging
010         */
011        public static String formatBytesForLogging(int numBytes, int theOffset, byte... theBytes) {
012                StringBuilder b = new StringBuilder();
013                int end = numBytes + theOffset;
014                for (int i = theOffset; i < end; i++) {
015                        byte nextByte = theBytes[i];
016                        if (nextByte < ' ' || nextByte > 126) {
017                                b.append('[');
018                                b.append((int) nextByte);
019                                b.append(']');
020                        } else {
021                                b.append((char) nextByte);
022                        }
023                }
024
025                return (b.toString());
026        }
027        
028}