从常量十六进制创建字节数组是否比下面的版本更好/更短的方法?
byteArrayOf(0xA1.toByte(), 0x2E.toByte(), 0x38.toByte(), 0xD4.toByte(), 0x89.toByte(), 0xC3.toByte())
我尝试将
0xA1
放在不带.toByte()
的位置,但收到语法错误投诉,说integer literal does not conform to the expected type Byte
。放置整数是可以的,但是我更喜欢使用十六进制形式,因为我的来源是十六进制字符串。任何提示将不胜感激。谢谢! 最佳答案
作为选项,您可以创建简单的功能
fun byteArrayOfInts(vararg ints: Int) = ByteArray(ints.size) { pos -> ints[pos].toByte() }
并使用它
val arr = byteArrayOfInts(0xA1, 0x2E, 0x38, 0xD4, 0x89, 0xC3)