# RLP let's look at the Appendix B of YP, it describes internals of RLP (Recursive length prefix). This is a encoding scheme, that is employed at Eth1.0, although many encoding's exist like JSON, YAML, BSON, XML etc...Encoding's can be classified into binary and non-binary formats > * Recursive Length Prefix (RLP) encoding. > * The purpose of RLP is to encode arbitrarily nested arrays of binary data, and > * RLP is the main encoding method used to serialize objects in Ethereum. The > * only purpose of RLP is to encode structure; encoding specific atomic data > * types (eg. strings, integers, floats) is left up to higher-order protocols; in > * Ethereum the standard is that integers are represented in big endian binary > * form. If one wishes to use RLP to encode a dictionary, the two suggested > * canonical forms are to either use [[k1,v1],[k2,v2]...] with keys in > * lexicographic order or to use the higher-level Patricia Tree encoding as > * Ethereum does. > * The RLP encoding function takes in an item. An item is defined as follows: > * - A string (ie. byte array) is an item - A list of items is an item > * For example, an empty string is an item, as is the string containing the word > * "cat", a list containing any number of strings, as well as more complex data > * structures like ["cat",["puppy","cow"],"horse",[[]],"pig",[""],"sheep"]. Note > * that in the context of the rest of this article, "string" will be used as a > * synonym for "a certain number of bytes of binary data"; no special encodings > * are used and no knowledge about the content of the strings is implied. > * <p> > * See: https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP > * >