BOP (computing)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found. BOP is a binary protocol for a fast serialization of objects, defined in every programmaing languages. There are 20 data type already defined, but you can extend the protocol with other custom serialization. The main data types are:

   0 null
   1 typed object
   2 untyped object
   3 typed array
   4 untyped array
   5 bool
   6 utf
   7 uint8
   8 int8
   9 uint16
   10 int16
   11 uint32
   12 int32
   13 uint64
   14 int64
   15 float32
   16 float64
   17 binary
   18 date
   19 regexp
   20 bitset

The numbers are serialized in big endian order. The first implementation is a javascript library.
Javascript Library

Javascript don't know natively integer with 8,16,32,64 bits. The just number known in this language is Number that is a 64-bit floating point. This library permits to handle all the data types known in other languages ( for example C , java , C# ....). In addition it permits to serialize also a set of bits , dates, regular expressions, binary blobs. You can serialize objects in stripped version or unstripped version. The first one permits to save data types in the stream , so the unserializer can rebuild the object correctly without write additional code. In this case the serialization and the unserialization are completely transparent. In the stripped mode, the serialization dont save data types of the object (in nested way). This permits to save space or permits to pass fastly data structure statically defined. You can also to imagine to use in a part stripped mode and in a part unstripped mode.