Java XML Hex hexOutSpaces(byte[] byteArray)

Here you can find the source of hexOutSpaces(byte[] byteArray)

Description

Make the byte array appear as space separated 2 digit hex numbers.

License

Open Source License

Declaration

public static String hexOutSpaces(byte[] byteArray) 

Method Source Code

//package com.java2s;
/**// w  ww  . ja  va 2  s.  co m
 * Copyright (C) 2012 nibbles.it
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 3 of the License, or (at your option) any
 * later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this library; if not, write to the Free Software Foundation, Inc.,
 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 */

import javax.xml.bind.DatatypeConverter;

public class Main {
    private static final String[] HEXCHARS = new String[] { "0", "1", "2",
            "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" };

    /**
     * Make the byte array appear as space separated 2 digit hex numbers.
     */
    public static String hexOutSpaces(byte[] byteArray) {
        return toHexString(byteArray, true);
    }

    public static String hexOutSpaces(String hexString) {
        return toHexString(hexIn(hexString), true);
    }

    public static String toHexString(byte[] byteArray, boolean withSpaces) {
        StringBuilder builder = new StringBuilder();
        for (int i = 0; i < byteArray.length; i++) {
            if (withSpaces && i > 0) {
                builder.append(" ");
            }
            builder.append(HEXCHARS[(byteArray[i] >> 4) & 0xF]);
            builder.append(HEXCHARS[byteArray[i] & 0xF]);
        }
        return builder.toString();
    }

    /**
     * Helper method to convert strings like: "F0A43205", to actual byte array
     * for easier testing.
     */
    public static byte[] hexIn(String s) {
        return DatatypeConverter.parseHexBinary(s);
    }
}

Related

  1. hex(final byte[] bytes)
  2. hex2bin(String input)
  3. hexFromBinary(byte[] value)
  4. hexIn(String s)
  5. hexOut(byte[] byteArray)
  6. hexStringToByteArray(String hex)
  7. hexStringToByteArray(String s)
  8. hexStringToBytes(String text)
  9. hexToBytes(final String s)