Chương trình Kotlin để chuyển đổi mảng Byte sang Hệ thập lục phân

Trong chương trình này, bạn sẽ học các kỹ thuật khác nhau để chuyển đổi mảng byte sang hệ thập lục phân trong Kotlin.

Ví dụ 1: Chuyển Byte Array thành giá trị Hex

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

Khi bạn chạy chương trình, đầu ra sẽ là:

 0A020F0B

Trong chương trình trên, chúng ta có một mảng byte có tên là byte. Để chuyển đổi mảng byte thành giá trị hex, chúng ta lặp qua từng byte trong mảng và sử dụng String's format().

Chúng tôi sử dụng %02Xđể in hai vị trí ( 02) của Xgiá trị Hexadecimal ( ) và lưu trữ nó trong chuỗi st.

Đây là quá trình tương đối chậm hơn để chuyển đổi mảng byte lớn. Chúng ta có thể tăng đáng kể tốc độ thực thi bằng cách sử dụng các phép toán byte được hiển thị bên dưới.

Ví dụ 2: Chuyển đổi Mảng Byte sang giá trị Hex bằng các phép toán 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) )

Đầu ra của chương trình giống như Ví dụ 1.

Đây là mã Java tương đương: Chương trình Java để chuyển đổi mảng byte sang hệ thập lục phân.

thú vị bài viết...