2016-10-07 3 views
0

MessagePack for CLIhttps://github.com/msgpack/msgpack-cli)ライブラリを使用していますが、整数圧縮を無効にすることができますか?例えばMessagePack:整数圧縮を無効にする

// The following collection 
object[] { (Int32)10, (Int32)100, (Int32)1000 }; 
// will look like this after unpacking 
MessagePackObject[] { (Byte)10, (Byte)100, (Int16)1000 } 

これは明示的にはかなり時間がかかりれ、バックint[]にそれをキャストするために、コレクションの各項目を変換するために私を強制します。

答えて

0

使用直接、固定サイズの種類:

msgpack::sbuffer buffer; 
msgpack::packer<msgpack::sbuffer> pk(&buffer); 

msgpack::type::fix_uint32 code(0x00); 
msgpack::type::fix_uint32 type(123); 

pk.pack(code); 
pk.pack(type); 
+0

は、実は私の質問はmessagepack(https://github.com/msgpack/msgpack-cli)のC#実装に特異的に指向されました。シリアライザが整数を圧縮しないようにする方法はまだありません。 –

+0

申し訳ありません。おそらくこのようなものが役に立つだろうか? 'packer.Pack 'です。これは 'msgpack-cli/blob/master/test/MsgPack.UnitTest/PackerTest.PackT.cs'からのものです。 'test'フォルダに適切なサンプルがあると確信しています:) – o2gy

関連する問題