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