0
私は次の六角プレゼンテーションが含まれている文字列を持っている: 「5F E8 D0 7bはC0のF7 54 07 FB E4 20のF5 B8 10 67 A9」印刷できない文字や文字列を16進数に変換するには?
あなたは、これは単なる進であることを理解し、私はこの六角プレゼンテーションを取得する必要がありますStringから。文字列は次のようになります。 "ED> @@ 2.W.W'KJ%z_ {T g"
したがって、 "ED> @@ 2.W.W'KJ%z_ {T g "hex presentation" 5f e8 d0 7b c0 f7 54 07 fb e4 20 f5 b8 10 67 a9 "?これは印刷できない文字なので、私はこれを使用できません:
public static String stringToHex(String arg) {
return String.format("%x", new BigInteger(arg.getBytes()));
}
結果:-10404282104042104042104042104042104042c7eea21040428189104042104042f5です。 また、これは私に奇妙な何かを返します:
System.out.println(String.format("%h", Integer.toHexString(buff.charAt(0))));
結果:6d1。
このコードは時々動作します。データはsocket(Stringとして、そしてこのAuth Challengeだけが16進数として多くの回答を得る必要があるためStringとして)から来ます。
これは何を与えるのでしょうか? 'System.out.println(Integer.toHexString(buff.charAt(0))); –
あなたの質問は不明です。文字 "5"、続いて "f"、スペースの後に "e"などの文字列を持っていますか、またはバイト0x5F、0xE8などを含む文字列を持っていますか? – dty
文字列に印字不能文字があります。 16進数の上位は、文字列の16進表現です。 – purple