web-dev-qa-db-ja.com

バイト配列を文字列に変換します

My Scalaコードはバイトストリームからバイナリを受け取りました。[61 62 63 64]のように見えます。コンテンツは「abcd」です。toStringを使用してpを変換しましたが、失敗しました。文字列として印刷しますか?

21
Robin

バイト配列をchar配列に変換し、それから文字列を構築できます

scala> val bytes = Array[Byte]('a','b','c','d')
bytes: Array[Byte] = Array(97, 98, 99, 100)

scala> (bytes.map(_.toChar)).mkString 
res10: String = abcd

scala> 
22
cms

文字配列がわかっている場合は、いつでもバイト配列を文字列に変換できます。

val str = new String(bytes, StandardCharsets.UTF_8)

また、何も指定しない場合は、デフォルトのCharsetが使用されます。

39
Sleiman Jneidi