]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/util/Hex.java
Moving files to packages
[signal-cli] / src / main / java / org / asamk / signal / util / Hex.java
diff --git a/src/main/java/org/asamk/signal/util/Hex.java b/src/main/java/org/asamk/signal/util/Hex.java
new file mode 100644 (file)
index 0000000..696ca62
--- /dev/null
@@ -0,0 +1,31 @@
+package org.asamk.signal;
+
+public class Hex {
+
+    private final static char[] HEX_DIGITS = {
+            '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
+    };
+
+    public static String toStringCondensed(byte[] bytes) {
+        StringBuffer buf = new StringBuffer();
+        for (int i = 0; i < bytes.length; i++) {
+            appendHexChar(buf, bytes[i]);
+        }
+        return buf.toString();
+    }
+
+    private static void appendHexChar(StringBuffer buf, int b) {
+        buf.append(HEX_DIGITS[(b >> 4) & 0xf]);
+        buf.append(HEX_DIGITS[b & 0xf]);
+        buf.append(" ");
+    }
+
+    public static byte[] toByteArray(String s) {
+        int len = s.length();
+        byte[] data = new byte[len / 2];
+        for (int i = 0; i < len; i += 2) {
+            data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i + 1), 16));
+        }
+        return data;
+    }
+}