Java Byte Array to Hex byteToHex(byte[] array, String separator)

Here you can find the source of byteToHex(byte[] array, String separator)

Description

Converts a byte array to a hex string.

License

Apache License

Parameter

Parameter Description
array byte array to convert
separator the delimiter of the bytes

Return

hexadecimal string representation of the byte array

Declaration

public static String byteToHex(byte[] array, String separator) 

Method Source Code

//package com.java2s;
/*******************************************************************************
 * Copyright 2014 Katja Hahn//  w w  w.  j  a  v  a  2s  .  c  om
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/

public class Main {
    /**
     * Converts a byte array to a hex string.
     * <p>
     * Every single byte is shown in the string, also prepended zero bytes.
     * Single bytes are delimited with a space character.
     * 
     * @param array
     *            byte array to convert
     * @return hexadecimal string representation of the byte array
     */
    public static String byteToHex(byte[] array) {
        assert array != null;
        return byteToHex(array, " ");
    }

    /**
     * Converts a byte array to a hex string.
     * <p>
     * Every single byte is shown in the string, also prepended zero bytes.
     * Single bytes are delimited with the separator.
     * 
     * @param array
     *            byte array to convert
     * @param separator
     *            the delimiter of the bytes
     * @return hexadecimal string representation of the byte array
     */
    public static String byteToHex(byte[] array, String separator) {
        assert array != null;
        StringBuilder buffer = new StringBuilder();
        for (int i = 0; i < array.length; i++) {
            // add separator in between, not before the first byte
            if (i != 0) {
                buffer.append(separator);
            }
            // (b & 0xff) treats b as unsigned byte
            // first nibble is 0 if byte is less than 0x10
            if ((array[i] & 0xff) < 0x10) {
                buffer.append("0");
            }
            // use java's hex conversion for the rest
            buffer.append(Integer.toString(array[i] & 0xff, 16));
        }
        return buffer.toString();
    }
}

Related

  1. byteToHex(byte b[])
  2. byteToHex(byte b[])
  3. byteToHex(byte bytes[])
  4. byteToHex(byte data)
  5. byteToHex(byte[] array)
  6. byteToHex(byte[] b, int size)
  7. byteToHex(byte[] base)
  8. byteToHex(byte[] buf)
  9. byteToHex(byte[] buffer)