ASCIIに変換して印刷する必要がある16進文字列があります。デバッグ中に正しい値が表示されますが、ASCIIを印刷しようとすると無視されて次の行に移動します。印字不可能な文字をドット(。)で置き換える方法はありますか?ここに私の抜粋です。交換の印刷可能でない文字をJavaのフルストップとして印刷
import javax.xml.bind.DatatypeConverter;
byte[] out = toByteArray("0000005401F40000D9E3C60500000000002000000000000000D7C8F10000000000000000000000004040404040404040D9E3C600E9C7C9F0F0F0F1F1E5D9C1D1C1D54040F0F0F14BF0F0F14BF0F0F14BF0F0F100"); // Input Hex String
System.out.println("ASCII: " + out); // Prints [[email protected]
String hex = toHexString(out);
System.out.println("Hex: " + hex); // Prints the hex - 00000054 exactly
public static String toHexString(byte[] array) {
return DatatypeConverter.printHexBinary(array);
}
public static byte[] toByteArray(String s) {
return DatatypeConverter.parseHexBinary(s);
}
のSystem.out.println( "ASCII:" +配列。 toString(out)); – Frank