public static String toByteString(final byte... data) {
		final StringBuilder out = new StringBuilder();

		if (data.length > 0) {
			for (int j = 7; j >= 0; --j) {
				out.append((data[data.length - 1] >>> j) & 1);
			}
		}
		for (int i = data.length - 2; i >= 0 ;--i) {
			out.append('|');
			for (int j = 7; j >= 0; --j) {
				out.append((data[i] >>> j) & 1);
			}
		}

		return out.toString();
	}
Convert a binary representation of the given byte array to a string. The
string has the following format:
<pre>
 Byte:       3        2        1        0
             |        |        |        |
 Array: "11110011|10011101|01000000|00101010"
         |                 |        |      |
 Bit:    23                15       7      0
</pre>
<i>Only the array string is printed.</i>

@see #fromByteString(String)

@param data the byte array to convert to a string.
@return the binary representation of the given byte array.
jenetics/src/main/java/io/jenetics/internal/util/Bits.java