Java tutorial
//package com.java2s; /* * Copyright 2010 Bruno de Carvalho * * 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 { public static String writeArrayAsHex(byte[] array, boolean packedPrint) { if (packedPrint) { return convertToHex(array); } StringBuilder builder = new StringBuilder(); for (byte b : array) { builder.append(" 0x"); String hex = Integer.toHexString(b); switch (hex.length()) { case 1: builder.append('0').append(hex); break; case 2: builder.append(hex); break; default: builder.append(hex.substring(6, 8)); } } return builder.toString(); } public static String convertToHex(byte[] data) { StringBuffer buf = new StringBuffer(); for (byte aData : data) { int halfbyte = (aData >>> 4) & 0x0F; int two_halfs = 0; do { if ((0 <= halfbyte) && (halfbyte <= 9)) { buf.append((char) ('0' + halfbyte)); } else { buf.append((char) ('a' + (halfbyte - 10))); } halfbyte = aData & 0x0F; } while (two_halfs++ < 1); } return buf.toString(); } }