BinaryFormat

interface BinaryFormat : SerialFormat

SerialFormat that allows conversions to and from ByteArray via encodeToByteArray and decodeFromByteArray methods.

Not stable for inheritance

BinaryFormat interface is not stable for inheritance in 3rd party libraries, as new methods might be added to this interface or contracts of the existing methods can be changed.

It is safe to operate with instances of BinaryFormat and call its methods.

Functions

Link copied to clipboard
abstract fun <T> decodeFromByteArray(deserializer: DeserializationStrategy<T>, bytes: ByteArray): T

Decodes and deserializes the given byte array to the value of type T using the given deserializer.

Link copied to clipboard
abstract fun <T> encodeToByteArray(serializer: SerializationStrategy<T>, value: T): ByteArray

Serializes and encodes the given value to byte array using the given serializer.

Properties

Link copied to clipboard
abstract val serializersModule: SerializersModule

Contains all serializers registered by format user for Contextual and Polymorphic serialization.

Extensions

Link copied to clipboard
inline fun <T> BinaryFormat.decodeFromByteArray(bytes: ByteArray): T

Decodes and deserializes the given byte array to the value of type T using deserializer retrieved from the reified type parameter.

Link copied to clipboard
fun <T> BinaryFormat.decodeFromHexString(deserializer: DeserializationStrategy<T>, hex: String): T
inline fun <T> BinaryFormat.decodeFromHexString(hex: String): T

Decodes byte array from the given hex string and the decodes and deserializes it to the value of type T, delegating it to the BinaryFormat.

Link copied to clipboard
inline fun <T> BinaryFormat.encodeToByteArray(value: T): ByteArray

Serializes and encodes the given value to byte array using serializer retrieved from the reified type parameter.

Link copied to clipboard
fun <T> BinaryFormat.encodeToHexString(serializer: SerializationStrategy<T>, value: T): String
inline fun <T> BinaryFormat.encodeToHexString(value: T): String

Serializes and encodes the given value to byte array, delegating it to the BinaryFormat, and then encodes resulting bytes to hex string.