Java Hex Calculate toHexString(byte[] data, int offset, int length)

Here you can find the source of toHexString(byte[] data, int offset, int length)

Description

Convert a byte array to a String with a hexidecimal format.

License

Apache License

Parameter

Parameter Description
data byte array
offset starting byte (zero based) to convert.
length number of bytes to convert.

Return

the String (with hexidecimal format) form of the byte array

Declaration

public static String toHexString(byte[] data, int offset, int length) 

Method Source Code

//package com.java2s;
/*/*  w w w.  j  av a  2s  .c om*/
 * Apache Derby is a subproject of the Apache DB project, and is licensed under
 * the Apache License, Version 2.0 (the "License"); you may not use these files
 * 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.
 *
 * Splice Machine, Inc. has modified this file.
 *
 * All Splice Machine modifications are Copyright 2012 - 2016 Splice Machine, Inc.,
 * and are licensed to you under the License; you may not use this file except in
 * compliance with the License.
 *
 * 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 {
    private static char[] hex_table = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e',
            'f' };

    /**
     * Convert a byte array to a String with a hexidecimal format.
     * The String may be converted back to a byte array using fromHexString.
     * <BR>
     * For each byte (b) two characaters are generated, the first character
     * represents the high nibble (4 bits) in hexidecimal (<code>b & 0xf0</code>), the second character
     * represents the low nibble (<code>b & 0x0f</code>).
     * <BR>
     * The byte at <code>data[offset]</code> is represented by the first two characters in the returned String.
     *
     * @return the String (with hexidecimal format) form of the byte array
     * @param    data    byte array
     * @param    offset    starting byte (zero based) to convert.
     * @param    length    number of bytes to convert.
     */
    public static String toHexString(byte[] data, int offset, int length) {
        StringBuilder s = new StringBuilder(length * 2);
        int end = offset + length;

        for (int i = offset; i < end; i++) {
            int high_nibble = (data[i] & 0xf0) >>> 4;
            int low_nibble = (data[i] & 0x0f);
            s.append(hex_table[high_nibble]);
            s.append(hex_table[low_nibble]);
        }

        return s.toString();
    }
}

Related

  1. toHexString(byte[] data)
  2. toHexString(byte[] data)
  3. toHexString(byte[] data, final int offset, final int count)
  4. toHexString(byte[] data, int maxLen)
  5. toHexString(byte[] data, int offset, int length)
  6. toHexString(byte[] data, int start, int len)
  7. toHexString(byte[] data, int start, int length)
  8. toHexString(byte[] digest)
  9. toHexString(byte[] digest)