如何将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
编码一切都好吗?
谢谢!