如何将JSON字节数组编码为BSON?

时间:2014-07-11 13:29:57

标签: c arrays encoding bson

如何将JSON中的字节数组编码为BSON? (我在C中制作自己的编码器,不使用任何库)

如果我有一个数组:

"data":[1,2,3,4,5,7,8,9,10]

如果所有数字都是8位的无符号整数,则在http://bsonspec.org/spec.html中表示二进制结构应以int32开头,表示数组中的字节数,后跟子类型。 所以BSON表示应该是这样的:

\x04data\x00\x14\x00\x00\x00\x0A\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06
\x07\x08\x09\x0A\x00

其中:

\x04 => indicates an array

data\x00 => name of the array (NULL-terminated)

\x14\x00\x00\x00 => total size of the array (20 in decimal)

\x0A\x00\x00\x00 => number of bytes in the array (10 in decimal)

\x00 => default subtype

\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A => the data I want to transmit

0x00 => NULL byte that ends the array

编码一切都好吗?

谢谢!

0 个答案:

没有答案