Котлин програм за претварање бајт поља у хексадецимални

У овом програму ћете научити различите технике претварања бајтног низа у хексадецимални у Котлину.

Пример 1: Претвори бајтни низ у хексадецималну вредност

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

Када покренете програм, излаз ће бити:

 0А020Ф0Б

У горе наведеном програму имамо низ бајтова назван бајтови. Да бисмо бајт низ претворили у хексадецималну вредност, провлачимо се кроз сваки бајт у низу и користимо Stringformat().

Користимо %02Xза испис два места ( 02) хексадецималне ( X) вредности и чувамо их у низу ст.

Ово је релативно спорији процес за конверзију низа великих бајтова. Можемо драматично повећати брзину извршавања помоћу бајт операција приказаних у наставку.

Пример 2: Претворите бајтни низ у хексадецималну вредност помоћу бајт операција

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

Резултат програма је исти као у примеру 1.

Ево еквивалентног Јава кода: Јава програм за претварање бајт поља у хексадецимални.

Занимљиви Чланци...