Programme Kotlin pour convertir un tableau d'octets en hexadécimal

Dans ce programme, vous apprendrez différentes techniques pour convertir un tableau d'octets en hexadécimal dans Kotlin.

Exemple 1: Convertir un tableau d'octets en valeur hexadécimale

 fun main(args: Array) ( val bytes = byteArrayOf(10, 2, 15, 11) for (b in bytes) ( val st = String.format("%02X", b) print(st) ) )

Lorsque vous exécutez le programme, la sortie sera:

 0A020F0B

Dans le programme ci-dessus, nous avons un tableau d'octets nommé bytes. Pour convertir un tableau d'octets en valeur hexadécimale, nous parcourons chaque octet du tableau et utilisons Stringles format().

Nous utilisons %02Xpour imprimer deux emplacements ( 02) de la Xvaleur hexadécimale ( ) et la stocker dans la chaîne st.

Il s'agit d'un processus relativement plus lent pour la conversion de grand tableau d'octets. Nous pouvons considérablement augmenter la vitesse d'exécution en utilisant les opérations d'octets indiquées ci-dessous.

Exemple 2: Convertir un tableau d'octets en valeur hexadécimale à l'aide d'opérations sur octets

 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) and 0xFF.toByte()).toInt() hexChars(j * 2) = hexArray(v ushr 4) hexChars(j * 2 + 1) = hexArray(v and 0x0F) ) return String(hexChars) ) fun main(args: Array) ( val bytes = byteArrayOf(10, 2, 15, 11) val s = bytesToHex(bytes) println(s) )

La sortie du programme est la même que dans l'exemple 1.

Voici le code Java équivalent: programme Java pour convertir un tableau d'octets en hexadécimal.

Articles intéressants...