Kotlin-ohjelma tavutaajuuden muuntamiseksi heksadesimaaliksi

Tässä ohjelmassa opit erilaisia ​​tekniikoita muuntaa tavujärjestelmä heksadesimaaliksi Kotlinissa.

Esimerkki 1: Muunna tavutaulukko Hex-arvoksi

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

Kun suoritat ohjelmaa, tulos on:

 0A020F0B

Yllä olevassa ohjelmassa meillä on tavu nimeltä tavu. Muuntaa tavu array hex-arvo, me silmukan läpi kunkin tavun jono ja käyttö Stringn format().

Käytämme %02Xtulostaa kaksi paikkaa ( 02) heksadesimaalitietoa ( X) arvon ja tallentaa sen merkkijono st.

Tämä on suhteellisen hitaampi prosessi suurten tavujen taulukon muuntamiseksi. Voimme dramaattisesti lisätä suorituksen nopeutta käyttämällä alla esitettyjä tavutoimintoja.

Esimerkki 2: Muunna tavutaulukko Hex-arvoksi tavutoimintojen avulla

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

Ohjelman tulos on sama kuin esimerkissä 1.

Tässä on vastaava Java-koodi: Java-ohjelma muuntaa tavua matriisi heksadesimaaliksi.

Mielenkiintoisia artikkeleita...