覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。twitter: @yyoshikaw

Kotlin - ByteArrayの16進表記の値を取得したい

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