Kotlin で ByteArray を作成する 質問する

Kotlin で ByteArray を作成する 質問する

以下のバージョンよりも、定数 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)

おすすめ記事