Kotlin で ByteArray型のデータの 16進ダンプ(16進表記の文字列)を取得したい場合のやり方です。自分用のメモです。
Googleで検索すればいくらでも出てくる話です。
Kotlinの場合、Javaと違って 対象の型自体に関数を定義できるので、以下のように ByteArray型自体に関数を生やすのが手っ取り早いです。
fun ByteArray.toHex(): String = joinToString(separator = "") { eachByte -> "%02x".format(eachByte) }
■実行例
fun main(args: Array<String>) { val bytes = "Hello, World!".toByteArray() println(bytes.toHex()) }
■実行結果
48656C6C6F2C20576F726C6421