Kotlin Program for å konvertere Byte Array til Hexadecimal

I dette programmet lærer du forskjellige teknikker for å konvertere byte-array til heksadesimalt i Kotlin.

Eksempel 1: Konverter Byte Array til Hex-verdi

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

Når du kjører programmet, vil utdataene være:

 0A020F0B

I det ovennevnte programmet har vi et byte-utvalg som heter byte. For å konvertere byte-array til hex-verdi, går vi gjennom hver byte i arrayet og bruker String's format().

Vi bruker %02Xtil å skrive ut to steder ( 02) med heksadesimal ( X) verdi og lagre den i streng st.

Dette er relativt tregere prosess for konvertering av store byte-matriser. Vi kan dramatisk øke hastigheten på utførelsen ved hjelp av byteoperasjoner vist nedenfor.

Eksempel 2: Konverter Byte Array til Hex-verdi ved hjelp av byteoperasjoner

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

Programmets utgang er den samme som eksempel 1.

Her er ekvivalent Java-kode: Java-program for å konvertere byte-array til heksadesimalt.

Interessante artikler...