2016-07-08 10 views

Antwort

4

Nein, ein String ist nicht als Container für beliebige Bytes geeignet.

Der Konstruktor String(byte[] bytes) interpretiert das Array, das Sie übergeben, und konvertiert es in Zeichen, wobei die Standardzeichencodierung Ihres Systems verwendet wird. Dies kann eine Ausnahme auslösen, wenn das Bytearray eine Bytefolge enthält, die für die Zeichencodierung nicht gültig ist, und selbst wenn es ohne Ausnahme funktioniert, kann der Aufruf getBytes() auf String nicht garantiert werden, dass die exakt gleichen Bytes zurückgegeben werden.

Wenn Sie ein Byte-Array in einer Datenbank speichern möchten, speichern Sie es als BLOB (Binary Large OBject). Wenn Sie es wirklich als String speichern möchten, konvertieren Sie es in Text, beispielsweise mit Base64-Codierung oder als hexadezimale Ziffern.

+0

Vielen Dank für die Antwort –

Verwandte Themen