覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。twitter: @yyoshikaw

ASCII文字列の16進数表記を取得する

JavaでASCII文字列の16進数表記の値(Hex Dump)を取得するサンプルです。

以下のようなメソッドを用意します。

import java.util.stream.Collectors;

static String asciiHexDump(String ascii, String delimiter) {
    return ascii.chars()
            .mapToObj(b -> String.format("0x%02X", b))
            .collect(Collectors.joining(delimiter));
}


実行サンプルは以下の通りです

サンプルコード

import java.util.stream.Collectors;

public class TrimSample {

    public static void main(String[] args) {
        String sample1 = "sample1";
        System.out.printf("%s -> [%s]\n", sample1, asciiHexDump(sample1, ","));

        System.out.println();

        String sample2 = " sample2\r\n";
        System.out.printf("%s -> [%s]\n", sample2, asciiHexDump(sample2, " "));
    }

    private static String asciiHexDump(String ascii, String delimiter) {
        return ascii.chars()
                .mapToObj(b -> String.format("0x%02X", b))
                .collect(Collectors.joining(delimiter));
    }
}


実行結果

sample1 -> [0x73,0x61,0x6D,0x70,0x6C,0x65,0x31]

 sample2
 -> [0x20 0x73 0x61 0x6D 0x70 0x6C 0x65 0x32 0x0D 0x0A]