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]