/* Copyright (C) 2011 The University of Michigan This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Please send inquiries to powertutor@umich.edu */ package edu.umich.PowerTutor.util; public class HexEncode { public static String encode(byte[] bytes) { StringBuilder bld = new StringBuilder(); for(int i = 0; i < bytes.length; i++) { bld.append((char)('a' + (bytes[i] >> 4 & 0xF))); bld.append((char)('a' + (bytes[i] & 0xF))); } return bld.toString(); } public static byte[] decode(String dat) { int N = dat.length() / 2; byte[] ret = new byte[N]; for(int i = 0; i < N; i++) { ret[i] = (byte)(dat.charAt(2 * i) - 'a' << 4 | dat.charAt(2 * i + 1) - 'a'); } return ret; } }