]>
nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/util/Hex.java
1 package org
.asamk
.signal
.util
;
5 private static final char[] HEX_DIGITS
= {
6 '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
12 public static String
toString(byte[] bytes
) {
13 if (bytes
.length
== 0) {
17 var buf
= new StringBuffer();
18 for (final var aByte
: bytes
) {
19 appendHexChar(buf
, aByte
);
22 buf
.deleteCharAt(buf
.length() - 1);
23 return buf
.toString();
26 public static String
toStringCondensed(byte[] bytes
) {
27 var buf
= new StringBuffer();
28 for (final var aByte
: bytes
) {
29 appendHexChar(buf
, aByte
);
31 return buf
.toString();
34 private static void appendHexChar(StringBuffer buf
, int b
) {
35 buf
.append(HEX_DIGITS
[(b
>> 4) & 0xf]);
36 buf
.append(HEX_DIGITS
[b
& 0xf]);
39 public static byte[] toByteArray(String s
) {
41 var data
= new byte[len
/ 2];
42 for (var i
= 0; i
< len
; i
+= 2) {
43 data
[i
/ 2] = (byte) ((Character
.digit(s
.charAt(i
), 16) << 4) + Character
.digit(s
.charAt(i
+ 1), 16));