aboutsummaryrefslogtreecommitdiff
path: root/src/edu/umich/PowerTutor/util/HexEncode.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/edu/umich/PowerTutor/util/HexEncode.java')
-rw-r--r--src/edu/umich/PowerTutor/util/HexEncode.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/edu/umich/PowerTutor/util/HexEncode.java b/src/edu/umich/PowerTutor/util/HexEncode.java
new file mode 100644
index 0000000..eb9d975
--- /dev/null
+++ b/src/edu/umich/PowerTutor/util/HexEncode.java
@@ -0,0 +1,41 @@
+/*
+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;
+ }
+}