1*57b5a4a6SAndroid Build Coastguard Worker // This file was automatically generated from formats.md by Knit tool. Do not edit. 2*57b5a4a6SAndroid Build Coastguard Worker package example.exampleFormats03 3*57b5a4a6SAndroid Build Coastguard Worker 4*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.serialization.* 5*57b5a4a6SAndroid Build Coastguard Worker import kotlinx.serialization.cbor.* 6*57b5a4a6SAndroid Build Coastguard Worker <lambda>null7*57b5a4a6SAndroid Build Coastguard Workerfun ByteArray.toAsciiHexString() = joinToString("") { 8*57b5a4a6SAndroid Build Coastguard Worker if (it in 32..127) it.toInt().toChar().toString() else 9*57b5a4a6SAndroid Build Coastguard Worker "{${it.toUByte().toString(16).padStart(2, '0').uppercase()}}" 10*57b5a4a6SAndroid Build Coastguard Worker } 11*57b5a4a6SAndroid Build Coastguard Worker 12*57b5a4a6SAndroid Build Coastguard Worker @Serializable 13*57b5a4a6SAndroid Build Coastguard Worker data class Data( 14*57b5a4a6SAndroid Build Coastguard Worker @ByteString 15*57b5a4a6SAndroid Build Coastguard Worker val type2: ByteArray, // CBOR Major type 2 16*57b5a4a6SAndroid Build Coastguard Worker val type4: ByteArray // CBOR Major type 4 17*57b5a4a6SAndroid Build Coastguard Worker ) 18*57b5a4a6SAndroid Build Coastguard Worker mainnull19*57b5a4a6SAndroid Build Coastguard Workerfun main() { 20*57b5a4a6SAndroid Build Coastguard Worker val data = Data(byteArrayOf(1, 2, 3, 4), byteArrayOf(5, 6, 7, 8)) 21*57b5a4a6SAndroid Build Coastguard Worker val bytes = Cbor.encodeToByteArray(data) 22*57b5a4a6SAndroid Build Coastguard Worker println(bytes.toAsciiHexString()) 23*57b5a4a6SAndroid Build Coastguard Worker val obj = Cbor.decodeFromByteArray<Data>(bytes) 24*57b5a4a6SAndroid Build Coastguard Worker println(obj) 25*57b5a4a6SAndroid Build Coastguard Worker } 26