Dalam program ini, Anda akan mempelajari berbagai teknik untuk mengubah array byte menjadi heksadesimal di Kotlin.
Contoh 1: Ubah Byte Array menjadi nilai Hex
fun main(args: Array) ( val bytes = byteArrayOf(10, 2, 15, 11) for (b in bytes) ( val st = String.format("%02X", b) print(st) ) )
Saat Anda menjalankan program, hasilnya adalah:
0A020F0B
Dalam program di atas, kami memiliki array byte bernama byte. Untuk mengubah array byte menjadi nilai hex, kita mengulang setiap byte dalam array dan menggunakan String
's format()
.
Kami menggunakan %02X
untuk mencetak dua tempat ( 02
) dari nilai Hexadecimal ( X
) dan menyimpannya dalam string st.
Ini adalah proses yang relatif lebih lambat untuk konversi array byte besar. Kami dapat secara dramatis meningkatkan kecepatan eksekusi menggunakan operasi byte yang ditunjukkan di bawah ini.
Contoh 2: Konversi Byte Array menjadi nilai Hex menggunakan operasi byte
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) )
Output dari program ini sama dengan Contoh 1.
Berikut kode Java yang setara: Program Java untuk mengubah array byte menjadi heksadesimal.