„Kotlin“ programa baitų masyvą paversti šešioliktainiu

Šioje programoje sužinosite įvairius metodus, kaip konvertuoti baitų masyvą į šešioliktainį skaičių Kotline.

1 pavyzdys: konvertuokite baitų masyvą į šešiakampę vertę

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

Kai paleisite programą, išvestis bus:

 0A020F0B

Pirmiau pateiktoje programoje turime baitų masyvą, pavadintą baitais. Norėdami konvertuoti baitų masyvą į šešioliktainę reikšmę, mes peržengiame kiekvieną masyvo baitą ir naudojame String's format().

Mes naudojame %02Xatspausdinti dvi 02šešioliktainės ( X) vertės vietas ( ) ir išsaugoti ją eilutėje st.

Tai yra palyginti lėtesnis procesas didelių baitų masyvo konvertavimui. Mes galime žymiai padidinti vykdymo greitį naudodami toliau pateiktas baitų operacijas.

2 pavyzdys: konvertuokite baitų masyvą į šešiakampę vertę naudodami baitų operacijas

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

Programos išvestis yra tokia pati kaip 1 pavyzdyje.

Štai ekvivalentiškas „Java“ kodas: „Java“ programa baitų masyvą paversti šešioliktainiu.

Įdomios straipsniai...