Here you can find the source of toHexString(byte[] data, int offset, int length)
Parameter | Description |
---|---|
data | byte array |
offset | starting byte (zero based) to convert. |
length | number of bytes to convert. |
public static String toHexString(byte[] data, int offset, int length)
//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(); } }