Skip to content
uupaa edited this page Jul 1, 2015 · 23 revisions

MessagePack.js is MessagePack implementation.

It implements the following functions.

MessagePack.js msgpack.js
MessagePack spec 2013 Spec 2010 Spec
FIX_INT
INT8
INT16
INT32
INT64
FIX_UINT
UINT8
UINT16
UINT32
UINT64
nil (as Null)
Boolean
Infinity
FIX_MAP
MAP32
MAP64
FIX_ARRAY
ARRAY32
ARRAY64
FIX_STR
STR8
STR16
STR32
BIN8 (as Uint8Array)
BIN16 (as Uint8Array)
BIN32 (as Uint8Array)
FIX_EXT
EXT8
EXT16
EXT32
run on Browser
run on WebWorkers
run on Node.js
run on NW.js
UNICODE Surrogate Pairs
ADVANCED_OPTIMIZATIONS
Encode and Decode speed 😃 😧
USER_DEFINED_TYPE

USER_DEFINED_TYPE

MessagePack#encode の options.pack と MessagePack#decode の options.unpack に関数を指定することで、ユーザが独自に定義した型やクラスをエンコード/デコードできます。

MessagePack が元々サポートしている型(Native support types)と、ユーザ定義型(USER_DEFINED_TYPE)を併用すると、以下のように多様な型をサポートできます。

Types
undefined Native (as nil)
null Native (as nil)
Boolean Native
Number Native (as int/float)
String Native
Array Native (as Array)
Object Native (as Map)
Uint8Array Native (as BIN)
Date USER_EXT_TYPE
Uint16Array USER_EXT_TYPE
Uint32Array USER_EXT_TYPE
Int8Array USER_EXT_TYPE
Int16Array USER_EXT_TYPE
Int32Array USER_EXT_TYPE
Float32Array USER_EXT_TYPE
Float64Array USER_EXT_TYPE
ArrayBuffer USER_EXT_TYPE
other type USER_EXT_TYPE

Clone this wiki locally