Programul Kotlin pentru convertirea matricei de octeți în hexazecimal

În acest program, veți învăța diferite tehnici pentru a converti matricea de octeți în hexazecimal în Kotlin.

Exemplul 1: convertiți Byte Array în valoare Hex

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

Când rulați programul, ieșirea va fi:

 0A020F0B

În programul de mai sus, avem o matrice de octeți numită octeți. Pentru a converti matrice octet la valoarea hex, parcurgem fiecare octet în matrice și utilizarea Stringlui format().

Folosim %02Xpentru a imprima două locuri ( 02) de Xvaloare Hexadecimal ( ) și a le stoca în șirul st.

Acesta este un proces relativ mai lent pentru conversia matricei de octeți mari. Putem crește dramatic viteza de execuție folosind operațiile de octeți prezentate mai jos.

Exemplul 2: Conversia matricei de octeți în valoare Hex folosind operații de octeți

 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) )

Ieșirea programului este aceeași cu Exemplul 1.

Iată codul Java echivalent: program Java pentru a converti matricea de octeți în hexazecimal.

Articole interesante...