Here you can find the source of bytesToHexString(byte[] bytes)
public static String bytesToHexString(byte[] bytes)
//package com.java2s; /*/*from www. ja v a2 s .com*/ * Copyright (C) 2010-2015 JPEXS, All rights reserved. * * 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.0 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. */ public class Main { private final static String ZEROS8 = "00000000"; public static String bytesToHexString(byte[] bytes) { return bytesToHexString(bytes, 0); } public static String bytesToHexString(byte[] bytes, int start) { StringBuilder sb = new StringBuilder(); if (start < bytes.length) { for (int ii = start; ii < bytes.length; ii++) { sb.append(formatHex(bytes[ii] & 0xff, 2)); sb.append(' '); } sb.setLength(sb.length() - 1); } return sb.toString(); } public static String bytesToHexString(int maxByteCountInString, byte[] bytes, int start) { if (bytes.length - start <= maxByteCountInString) { return bytesToHexString(bytes, start); } byte[] trailingBytes = new byte[maxByteCountInString / 2]; byte[] headingBytes = new byte[maxByteCountInString - trailingBytes.length]; System.arraycopy(bytes, start, headingBytes, 0, headingBytes.length); int startOfTrailingBytes = bytes.length - trailingBytes.length; System.arraycopy(bytes, startOfTrailingBytes, trailingBytes, 0, trailingBytes.length); StringBuilder sb = new StringBuilder(); sb.append(bytesToHexString(headingBytes, 0)); if (trailingBytes.length > 0) { sb.append(" ... "); sb.append(bytesToHexString(trailingBytes, 0)); } return sb.toString(); } public static String formatHex(int value, int width) { StringBuilder sb = new StringBuilder(); sb.append(Integer.toHexString(value)); if (width > sb.length()) { sb.insert(0, ZEROS8, 0, width - sb.length()); } return sb.toString(); } }