Program Kotlin pro převod bajtového pole na hexadecimální

V tomto programu se naučíte různé techniky převodu bajtového pole na hexadecimální v Kotlin.

Příklad 1: Převést bajtové pole na hexadecimální hodnotu

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

Když spustíte program, výstup bude:

 0A020F0B

Ve výše uvedeném programu máme bajtové pole s názvem bajty. Chcete-li převést bajtové pole na hexadecimální hodnotu, projdeme každý bajt v poli a použijeme String's format().

Používáme %02Xk tisku dvou míst ( 02) Hexadecimal ( X) hodnoty a uložíme je do řetězce st.

Toto je relativně pomalejší proces převodu velkých bajtových polí. Můžeme dramaticky zvýšit rychlost provádění pomocí bajtových operací uvedených níže.

Příklad 2: Převod bajtového pole na hexadecimální hodnotu pomocí bajtových operací

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

Výstup programu je stejný jako v příkladu 1.

Zde je ekvivalentní kód Java: Program Java pro převod bajtového pole na hexadecimální.

Zajímavé články...