二进制数据

概念

在 SequoiaDB 中的数据使用 JSON 形式访问,因此对于二进制的数据需要用户使用 Base64 方式进行编码,之后以字符串的形式发送至数据库。

格式

二进制数据的表达形式如下:

  1. { "$binary" : "<数据>", "$type" : <类型> }

其中“数据”必须为 Base64 编码的数据,“类型”为 0-255 之间的十进制数值,用户可以任意指定该范围之间的数值作为应用程序中的类型标示。

Base64 为一种通用的数据转换形式,主要将二进制数据转化为以纯 ASCII 字符串表示的字节流。一般来说转换之后的数据长度会大于原本的数据长度。

为了节省空间,在 SequoiaDB 的内部存放数据时,会将 Base64 编码后的数据解码为原始数据进行存放。当用户读取数据时会再次将其转化为 Base64 形式发送。

Note:

请参考 BinData

示例

字符串“hello world”被 Base64 编码后的数据为“aGVsbG8gd29ybGQ=”。包含“helloworld”二进制数据,且类型为 1 的 JSON 数据为:

  1. { "key" : { "$binary" : "aGVsbG8gd29ybGQ=", "$type" : "1" } }