aboutsummaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/io/HexDump.java
blob: d46afce1584e9faecbabdf5b654ada8f16ae5b37 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.io;

/**
 * @author bratseth
 */
public class HexDump {

    private static final String HEX_CHARS = "0123456789ABCDEF";

    public static String toHexString(byte[] buf) {
        if (buf == null) {
            return null;
        }
        StringBuilder sb = new StringBuilder();
        for (byte b : buf) {
            int x = b;
            if (x < 0) {
                x += 256;
            }
            sb.append(HEX_CHARS.charAt(x / 16));
            sb.append(HEX_CHARS.charAt(x % 16));
        }
        return sb.toString();
    }

}