以下のバージョンよりも、定数 16 進数からバイト配列を作成するより良い/短い方法はありますか?
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
。整数を入れるのは問題ありませんが、ソースが 16 進文字列なので、16 進形式の方が好みです。ヒントがあれば、ぜひ教えてください。ありがとうございます!
ベストアンサー1
オプションとして簡単な関数を作成することができます
fun byteArrayOfInts(vararg ints: Int) = ByteArray(ints.size) { pos -> ints[pos].toByte() }
そしてそれを使う
val arr = byteArrayOfInts(0xA1, 0x2E, 0x38, 0xD4, 0x89, 0xC3)