Kotlina programma baitu masīva konvertēšanai heksadecimālā

Šajā programmā jūs uzzināsiet dažādas metodes, kā Kotlīnā konvertēt baitu masīvu heksadecimālā.

1. piemērs: Baitu masīva konvertēšana uz Hex vērtību

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

Palaidot programmu, izeja būs:

 0A020F0B

Iepriekš minētajā programmā mums ir baitu masīvs ar nosaukumiem baiti. Lai konvertētu baitu masīvu uz hex vērtību, mēs aplūkojam katru masīva baitu un izmantojam String's format().

Mēs izmantojam, %02Xlai izdrukātu divas vietas ( 02) ar Xvērtību Hexadecimal ( ) un saglabātu to virknē st.

Liela baita masīva pārveidošanai tas ir salīdzinoši lēnāks process. Mēs varam dramatiski palielināt izpildes ātrumu, izmantojot zemāk redzamās baitu darbības.

2. piemērs: konvertējiet baitu masīvu uz Hex vērtību, izmantojot baitu operācijas

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

Programmas izvade ir tāda pati kā 1. piemērā.

Šeit ir ekvivalents Java kods: Java programma, lai baitu masīvu pārveidotu par heksadecimālo.

Interesanti raksti...