티스토리 뷰

Android/Kotlin

[Kotlin] ByteArray to Hex String

ellie.strong 2020. 4. 16. 16:59
728x90
private val digits = "0123456789ABCDEF"

fun bytesToHex(byteArray: ByteArray1): String {
    val hexChars = CharArray(byteArray.size * 2)
    for (i in byteArray.indices) {
        val v = byteArray[i].toInt() and 0xff
        hexChars[i * 2] = digits[v shr 4]
        hexChars[i * 2 + 1] = digits[v and 0xf]
    }
    return String(hexChars)
}
val bytes = byteArrayOf(10, 2, 15, 11)

val s = bytesToHex(bytes)
println(s)

// output: 0A020F0B

 

성능 비교

https://pyxispub.uzuki.live/?p=1176

 

ByteArray to Hex Performance Comparison in Kotlin

최근, BLE 관련 프로젝트를 진행하다가 Notify로 받아온 ByteArray 를 Hex String 로 변환하는 과정에서 딜레이가 발생하는 일이 있었다. 따라서 이번에는 구글로 찾아보면 나오는 ByteArray to Hex 에 대해 여러 방법에 대해 알아보고, 간단한 벤치마크를 작성하여 어느 방법이 성능이 더 잘 나오는지 비교해보려 한다. 비교 대상 비교 대상은 총 5개로, 코틀린 코드와 JVM 디컴파일 결과는 다음과...

pyxispub.uzuki.live

 

728x90
댓글
공지사항
최근에 올라온 글