Kotlini programm baidimassiivi teisendamiseks kuueteistkümnendkohani

Selles programmis saate õppida erinevaid tehnikaid baitmassiivi teisendamiseks Kotlinis kuueteistkümnendkohani.

Näide 1: teisendage baidimassiivi väärtuseks heks

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

Programmi käivitamisel on väljund järgmine:

 0A020F0B

Ülaltoodud programmis on meil baitide massiiv nimega bait. Baidimassiivi teisendamiseks heks väärtuseks liigume massiivi iga baidi kaudu läbi ja kasutame funktsiooni String's format().

Me kasutame selleks, %02Xet printida kaks kohta ( 02) väärtusest Hexadecimal ( X) ja salvestada see stringi st.

Suurte baitide massiivi teisendamiseks on see suhteliselt aeglasem protsess. Allpool näidatavate baitide abil saame täitmise kiirust dramaatiliselt suurendada.

Näide 2: teisendage baidimassiivi väärtuseks Hex, kasutades baiditoiminguid

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

Programmi väljund on sama, mis näites 1.

Siin on samaväärne Java-kood: Java-programm baitide massiivi teisendamiseks kuueteistkümnendarvuks.

Huvitavad Artiklid...