Kotlin program a bájt tömb hexadecimálissá konvertálására

Ebben a programban megtanul különböző technikákat a bájt tömb hexadecimálisra konvertálására Kotlinban.

1. példa: Bájtömb átalakítása Hex értékre

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

A program futtatásakor a kimenet a következő lesz:

 0A020F0B

A fenti programban van egy bájt nevű bájt tömb. A bájt tömb hex értékre való konvertálásához végigvezetjük a tömb minden egyes bájtját, és használjuk a String's - t format().

A Hexadecimal ( ) %02Xkét helyének ( 02) kinyomtatására használjuk , Xés a st karakterláncban tároljuk.

Ez viszonylag lassabb folyamat a nagy bájtos tömb átalakításhoz. Az alább látható bájtműveletek segítségével drámaian megnövelhetjük a végrehajtás sebességét.

2. példa: Byte Array konvertálása Hex értékre byte műveletek segítségével

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

A program kimenete megegyezik az 1. példával.

Itt található az egyenértékű Java-kód: Java program a bájt tömb hexadecimálisra konvertálására.

érdekes cikkek...