【发布时间】:2018-09-16 18:47:05
【问题描述】:
我在 kotlin 中有字符串格式的变量:
var a ="[B@53c1c428"
我想将它的数据类型从 String 更改为 ByteArray,即将其类型转换为 ByteArray,有点像:
var b: ByteArray = a
我也试过了:
var b = a as ByteArray,但这会引发异常
如果我这样做:
var b = a.toByteArray(),我得到如下输出:
[B@3aea9e4
但我希望 [B@53c1c428 为 ByteArray。
有什么建议吗?
【问题讨论】:
-
这是 ByteArray 的 toString() 表示(而在 Java 中是 Byte[]),您无法仅使用 toString() 表示来恢复您的数组。
-
可能你想用
String(myByteArray)从字节数组创建字符串。 -
“我想要 [B@53c1c428 as ByteArray”——你希望 ByteArray 在这样的演员之后有什么内容?即那个 ByteArray 的长度是多少,它的元素是什么?
-
一般来说,任何时候你看到
[B@3aea9e4这样的东西,你所拥有的都是毫无意义的。您也许可以将无意义的数据无错误地转换为其他无意义的数据,但这并不意味着它有意义。