Просто для пояснения: [B@53c1c428
- это шестнадцатеричный хеш-код этого объекта с префиксом B[@
.Сама строка "[B@53c1c428"
не содержит данных, необходимых для восстановления ByteArray
.
. Учтите это:
val str = "Test"
val byteArray = str.toByteArray()
println(Integer.toHexString(byteArray.hashCode())) // 1f32e575
println(byteArray) // [B@ + hash code as hexadecimal representation
val str2 = "This is a really long text and no 8 digit hex number in this world could encode it."
val byteArray2 = str2.toByteArray()
println(Integer.toHexString(byteArray2.hashCode())) // 279f2327
println(byteArray2) // [B@ + hash code as hexadecimal representation
toByteArray()
уже дает вамByteArray
.Если вы хотите напечатать однозначные числа как целые числа, сделайте это следующим образом:
val str = "Test"
println(str.toByteArray().joinToString(" "){ "$it" })
Вывод:
84 101 115 116
Этот выводбудет достаточно, чтобы полностью восстановить ByteArray
, потому что он содержит всю необходимую информацию.