Reference Materials
Certification Courses
Created with over a decade of experience and thousands of feedback.
Kotlin Program to Convert Byte Array to Hexadecimal
In this program, you'll learn different techniques to convert byte array to hexadecimal in Kotlin.
Example 1: Convert Byte Array to Hex value
fun main(args: Array<String>) {
val bytes = byteArrayOf(10, 2, 15, 11)
for (b in bytes) {
val st = String.format("%02X", b)
print(st)
}
}
When you run the program, the output will be:
0A020F0B
In the above program, we have a byte array named bytes. To convert byte array to hex value, we loop through each byte in the array and use String's format().
We use %02X to print two places (02) of Hexadecimal (X) value and store it in the string st.
This is a relatively slower process for large byte array conversion. We can dramatically increase the speed of execution using byte operations shown below.
Example 2: Convert Byte Array to Hex value using byte operations
import kotlin.experimental.and
private val hexArray = "0123456789ABCDEF".toCharArray()
fun bytesToHex(bytes: ByteArray): String {
val hexChars = CharArray(bytes.size * 2)
for (j in bytes.indices) {
val v = bytes[j].toInt() and 0xFF
hexChars[j * 2] = hexArray[v ushr 4]
hexChars[j * 2 + 1] = hexArray[v and 0x0F]
}
return String(hexChars)
}
fun main(args: Array<String>) {
val bytes = byteArrayOf(10, 2, 15, 11)
val s = bytesToHex(bytes)
println(s)
}
The output of the program is the same as Example 1.
Here's the equivalent Java code: Java program to convert byte array to hexadecimal.
Did you find this article helpful?