Svoboda | Graniru | BBC Russia | Golosameriki | Facebook

To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

From Wikipedia, the free encyclopedia

MessagePack
Original author(s)Sadayuki Furuhashi
Repository
Written inVarious languages
Operating systemAny
PlatformCross-platform
TypeData interchange
LicenseBoost Software License
Websitemsgpack.org

MessagePack is a computer data interchange format. It is a binary form for representing simple data structures like arrays and associative arrays. MessagePack aims to be as compact and simple as possible. The official implementation is available in a variety of languages, some official libraries and others community created, such as C, C++, C#, D, Erlang, Go, Haskell, Java, JavaScript (NodeJS), Lua, OCaml, Perl, PHP, Python, Ruby, Rust, Scala, Smalltalk, and Swift.[1]

YouTube Encyclopedic

  • 1/3
    Views:
    8 227
    1 300
    3 101
  • CppCon 2016: Takatoshi Kondo “MessagePack(msgpack) - A Compact and Fast Serialization Library"
  • MessagePack for Unity
  • The fastest .NET Serializer is NOT what you think

Transcription

Data types and syntax

Data structures processed by MessagePack loosely correspond to those used in JSON format. They consist of the following element types:

  • nil
  • bool, boolean (true and false)
  • int, integer (up to 64 bits signed or unsigned)
  • float, floating point numbers (IEEE single/double precision)
  • str, UTF-8 string
  • bin, binary data (up to 232 − 1 bytes)
  • array
  • map, an associative array
  • ext (arbitrary data of an application-defined format, up to 232 − 1 bytes)
  • timestamp (ext type = −1) (up to 64-bit seconds and 32-bit nanoseconds)

Comparison to other formats

MessagePack is more compact than JSON, but imposes limitations on array and integer sizes. On the other hand, it allows binary data and non-UTF-8 encoded strings. In JSON, map keys have to be strings, but in MessagePack there is no such limitation and any type can be a map key, including types like maps and arrays, and, like YAML, numbers.

Compared to BSON, MessagePack is more space-efficient. BSON is designed for fast in-memory manipulation, whereas MessagePack is designed for efficient transmission over the wire. For example, BSON requires null terminators at the end of all strings and inserts string indexes for list elements, while MessagePack doesn't. BSON represents both arrays and maps internally as documents, which are maps, where an array is a map with keys as decimal strings counting up from 0. MessagePack on the other hand represents both maps and arrays as arrays, where each map key-value pair is contiguous, making odd items keys and even items values.

The Protocol Buffers format provides a significantly more compact transmission format than MessagePack because it doesn't transmit field names. However, while JSON and MessagePack aim to serialize arbitrary data structures with type tags, Protocol Buffers requires a schema to define the data types. Protocol Buffers compiler creates boilerplate code in the target language to facilitate integration of serialization into the application code; MessagePack returns only a dynamically typed data structure and provides no automatic structure checks.

MessagePack is referenced in RFC 7049 of CBOR.

See also

References

  1. ^ "Languages". Retrieved 4 Jan 2022.

External links

This page was last edited on 15 May 2024, at 23:05
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.