Ich weiß, diese Frage ist wahrscheinlich idiotisch, aber hey, rauer Tag. Wie dem auch sei, da dies:Konvertieren von Byte-Array in String und wieder zurück
scala> import java.nio.charset.Charset
import java.nio.charset.Charset
scala> val alpha = Array[Byte](2,-9,-7,-126,-36,-41,-16,56)
alpha: Array[Byte] = Array(2, -9, -7, -126, -36, -41, -16, 56)
scala> val beta = new String(alpha, Charset.forName("UTF-8"))
beta: String = ?������8
scala> val gamma = beta.getBytes(Charset.forName("UTF-8"))
gamma: Array[Byte] = Array(2, -17, -65, -67, -17, -65, -67, -17, -65, -67, -17, -65, -67, -17, -65, -67, -17, -65, -67, 56)
Warum nicht alpha == gamma
? Was ist der richtige Weg, dies zu tun?
Update: Ich sehe Base64 Codierung/Decodierung funktioniert. Aber ich bin immer noch daran interessiert, warum UTF-8 nicht. Vielleicht liegt es daran, dass es keine UTF-8-Repräsentation von einem oder mehreren dieser Bytes gibt.