Java Hex Calculate toHexString(byte[] bytes, boolean addPrefix)

Here you can find the source of toHexString(byte[] bytes, boolean addPrefix)

Description

Convert a byte array to a hex string

License

Apache License

Parameter

Parameter Description
bytes Bytes to encode
addPrefix TRUE to add the '0x' prefix

Return

Hex string

Declaration

public static String toHexString(byte[] bytes, boolean addPrefix) 

Method Source Code

//package com.java2s;
/*/*from   w w w .  j a v  a2  s.  c  om*/
 * Copyright 2016 Ronald W Hoffman.
 *
 * 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 {
    /** Hex conversion alphabet */
    private static final char[] hexChars = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
            'e', 'f' };

    /**
     * Convert a byte array to a hex string
     *
     * @param       bytes                   Bytes to encode
     * @param       addPrefix               TRUE to add the '0x' prefix
     * @return                              Hex string
     */
    public static String toHexString(byte[] bytes, boolean addPrefix) {
        int base;
        char[] chars;
        if (addPrefix) {
            chars = new char[bytes.length * 2 + 2];
            chars[0] = '0';
            chars[1] = 'x';
            base = 2;
        } else {
            chars = new char[bytes.length * 2];
            base = 0;
        }
        for (int i = 0; i < bytes.length; i++) {
            chars[base + i * 2] = hexChars[((bytes[i] >> 4) & 0xF)];
            chars[base + i * 2 + 1] = hexChars[(bytes[i] & 0xF)];
        }
        return String.valueOf(chars);
    }
}

Related

  1. toHexString(byte[] bytes)
  2. toHexString(byte[] bytes)
  3. toHexString(byte[] bytes)
  4. toHexString(byte[] bytes)
  5. toHexString(byte[] bytes)
  6. toHexString(byte[] bytes, int offset, int len, int max)
  7. toHexString(byte[] bytes, String separator, boolean upperCase)
  8. toHexString(byte[] coded)
  9. toHexString(byte[] color)