2016-07-08 29 views
-1

新しい文字列(バイト)で作成されたバイトの配列ではなく文字列を使用できますか?私はそれらをデータベースに保存したいと思います。バイトでは、私はmd5ハッシュを計算しました。代わりに文字列を使用するjava

+0

arrayの問題は何ですか? – RE60K

+1

[Base64](https://en.wikipedia.org/wiki/Base64)はどうですか? – Seelenvirtuose

答えて

4

いいえ、Stringは、任意のバイトのコンテナとしては適していません。

String(byte[] bytes)コンストラクタは、渡された配列を解釈し、システムのデフォルトの文字エンコーディングを使用して文字に変換します。バイト配列に文字エンコーディングに有効でないバイト列が含まれていて、例外なく動作する場合でも、Stringのを呼び出すことで、全く同じバイトを返すことは保証されません。

データベースにバイト配列を格納する場合は、BLOB(バイナリラージオブジェクト)として格納するか、実際に文字列として格納する場合は、たとえばBase64エンコーディングを使用してテキストに変換しますまたは16進数で表示されます。

+0

ありがとうございます –

関連する問題