私は、文字列値をエンコードおよびデコードするorg.apache.commons.codec.binary.Hexを使用しようとしている:のApache Commonsの六角エンコーディングエラー
例:
Hex.encodeHex("10".getBytes()).toString();
しかし、これは私に進出力を与えていないが、出力に類似
[C 596d444a
@どれID:これまでなぜこれが起こっているの?
私は、文字列値をエンコードおよびデコードするorg.apache.commons.codec.binary.Hexを使用しようとしている:のApache Commonsの六角エンコーディングエラー
例:
Hex.encodeHex("10".getBytes()).toString();
しかし、これは私に進出力を与えていないが、出力に類似
[C 596d444a
@どれID:これまでなぜこれが起こっているの?
はい - encodeHex()
への呼び出しでは、文字配列(char[]
)が返され、その上にtoString
が呼び出されています。文字列を使用する代わりに、コンストラクタ([]をchar型):
new String(Hex.encodeHex("10".getBytes()))
(私はが強くはプラットフォームのデフォルトのエンコーディングを使用する方法によって、パラメータなしString.getBytes()
メソッドを使用しないことをお勧めしますそれは一定の源です。微妙なエラー)
あなたが与えたリンクごとに:public static char[] encodeHex(byte[] data)
返信@return A char[] containing hexadecimal characters
。したがって、出力は正しいです。 char配列を使用して文字列を作成します。
優秀、ありがとう:) – amaseuk