Kotlin-programma om byte-array naar hexadecimaal te converteren

In dit programma leer je verschillende technieken om byte-array naar hexadecimaal te converteren in Kotlin.

Voorbeeld 1: converteer Byte Array naar Hex-waarde

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

Wanneer u het programma uitvoert, is de uitvoer:

 0A020F0B

In het bovenstaande programma hebben we een byte-array met de naam bytes. Om byte-array naar hexadecimale waarde te converteren, doorlopen we elke byte in de array en gebruiken String's format().

We gebruiken %02Xom twee plaatsen ( 02) van hexadecimale ( X) waarde af te drukken en op te slaan in de string st.

Dit is een relatief langzamer proces voor arrayconversie met grote bytes. We kunnen de uitvoeringssnelheid drastisch verhogen met behulp van onderstaande bytebewerkingen.

Voorbeeld 2: converteer Byte Array naar Hex-waarde met behulp van bytebewerkingen

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

De output van het programma is hetzelfde als in Voorbeeld 1.

Hier is de equivalente Java-code: Java-programma om byte-array naar hexadecimaal te converteren.

Interessante artikelen...