# Module ubf # * [Description](#description) * [Function Index](#index) * [Function Details](#functions)

Low-level functions for encoding and decoding the UBF(a) protocol.

UBF is a family of languages for transporting and describing
complex data structures across a network.  It has three
components.  In terms of a protocol stack, UBF(a) is a data
transport format, roughly equivalent to well-formed XML.
UBF(a) is the transport format, it was designed to be easy to
parse and to be easy to write with a text editor. UBF(a) is based
on a byte encoded virtual machine, 26 byte codes are
reserved. Instead of allocating the byte codes from 0 we use the
printable character codes to make the format easy to read.
. __Behaviours:__ [`contract_proto`](contract_proto.md). ## Function Index ##
deabstract/1
decode/1
decode/2
decode/3
decode_init/0
decode_init/1
decode_init/2
encode/1
encode/2
proto_driver/0
proto_packet_type/0
proto_vsn/0
## Function Details ## ### deabstract/1 ### `deabstract(T) -> any()` ### decode/1 ### `decode(String) -> any()` ### decode/2 ### `decode(String, Mod) -> any()` ### decode/3 ### `decode(S, Mod, X3) -> any()` ### decode_init/0 ### `decode_init() -> any()` ### decode_init/1 ### `decode_init(Safe) -> any()` ### decode_init/2 ### `decode_init(Safe, String) -> any()` ### encode/1 ### `encode(X) -> any()` ### encode/2 ### `encode(X, Mod) -> any()` ### proto_driver/0 ### `proto_driver() -> any()` ### proto_packet_type/0 ### `proto_packet_type() -> any()` ### proto_vsn/0 ### `proto_vsn() -> any()`