- annotation
- bignum (多倍長整数)
- decimal
- rational
- raw inf (64でいい?)
- array inf (64でいい?)
- map inf (64でいい?)
次の値の高レイヤにおける意味を指定するもの。
具体的なフォーマット指定子は取る引数の数によって複数ある。2個なのは例えばレガシーエンコーディングの文字列において、エンコーディング名と本体とか。本体の方が後にくるので、annotationを無視したいときは最後のだけ読む。(TODO:本体が複数の場合はどうするんだ、map使うの?)
- annotation1
- annotation2
- encoding
- UTF-8
- UTF-16BE
- UTF-16LE
- UTF-32BE
- UTF-32LE
- ASCII
- ISO-8859-1 (latin1)
- other encodings (まず直後にfix rawでencoding nameを与える)
- datetime
- typed array
- typed map
- [annotation1] [UTF-8] [fixraw] ...
- [annotation2] [other encodings] [fixraw] ISO-2022-JP [fixraw] ESC ( B ...
- [annotation1] [datetime] [rational] ...
多倍長整数です。
- [bignum+] BER圧縮整数
- [bignum-] BER圧縮整数
10進数。
- IEEE 754 decimal32
- IEEE 754 decimal64
- IEEE 754 decimal128
有理数。
- [rational] [fixnum] [fixnum]
長さの指定に BER 圧縮整数を用いる。
see also http://wiki.msgpack.org/display/MSGPACK/Format+specification