кодесурса
«Binary

Введение в BSON

script1adsense2code
script1adsense3code

Описание

На этой странице мы обсудили BSON - двоичный JSON.

Что такое BSON

Один объект в BSON называется документом. Документ состоит из нуля или более пар ключ / значение (например, ассоциативные массивы) в двоичном формате.

«BSON

Типы данных

BSON поддерживает следующие основные типы данных:

  • байт: 1 байт, т.е. 8 бит.
  • int32: 4 байта, т.е. 32-разрядное целое число со знаком.
  • int64: 8 байт, т.е. 64-разрядное целое число со знаком.
  • double: 8 байтов, т.е. 64-битная IEEE 754 с плавающей запятой

В следующей таблице описаны остальные спецификации документа BSON:

грамматика Описание
document :: = int32 e_list "x00" Документ BSON: init32 относится к общему количеству байтов документа.
e_list :: = элемент e_list | «» Последовательность элементов.
element :: = "x01" e_name double Плавающая запятая.
element :: = "x02" Строка e_name Строка UTF-8.
element :: = "x03" e_name документ Встроенный документ
element :: = "x04" e_name документ Массив. Например, ['x', 'y'] будет представлен как {'0': 'x', '1': 'y'}
element :: = "x05" бинарный e_name Двоичные данные
element :: = "x06" e_name Не определено (это устарело)
element :: = "x07" e_name (байт * 12) ObjectId
element :: = "x08" e_name "x00" Логическое «ложь»
element :: = "x08" e_name "x01" Логическое "правда"
element :: = "x09" e_name int64 UTC миллисекунды в эпоху UNIX
element :: = "x0A" e_name Нулевое значение
element :: = "x0B" e_name cstring cstring Регулярное выражение
element :: = "x0C" e_name строка (байт * 12) DB Pointer. Это устарело.
element :: = "x0D" Строка e_name Код JavaScript.
element :: = "x0E" Строка e_name Условное обозначение.
element :: = "x0F" e_name code_w_s Код JavaScript с расширением.
element :: = "x10" e_name int32 32-разрядное целое число.
element :: = "x11" e_name int64 Отметка.
element :: = "x12" e_name int64 64-разрядное целое число
element :: = "xFF" e_name Мин ключ.
element :: = "x7F" e_name Макс ключ.
e_name :: = cstring Ключевое имя.
string :: = int32 (byte *) "x00" Строка.
cstring :: = (byte *) "x00" CString.
двоичный :: = int32 подтип (байт *) Binary.
подтип :: = "х00" Бинарный / Общий.
подтип :: = "х01" Функция.
подтип :: = "x02" Старый родовой подтип.
подтип :: = "x03" UUID.
подтип :: = "х05" MD5.
подтип :: = "х80" Определяемые пользователем.
code_w_s :: = int32 строковый документ Код с областью действия.

Реализация

Существует несколько библиотек BSON, доступных на разных языках, таких как ActionScript, C, C # / .Net, C ++ или автономные C ++, Delphi, Erlang, Factor, Fantom, Go, Haskell, Java, J2ME (работа в процессе), Lisp, Perl, PHP, Python - с необязательным расширением C, Python 3, Ruby - с необязательным расширением C, Standard ML (SML)

MongoDB , которая является базой данных NoSQL, хранит данные в формате BSON.

Сравнение между BSON и JSON

Для более быстрой навигации в BSON добавлены некоторые дополнительные поля, такие как JSON, например префиксы длины. Из-за этого, хотя он спроектирован так, чтобы занимать меньше места, чем JSON, на практике иногда JSON занимает меньше места.

BSON быстрее, чем JSON, когда дело доходит до кодирования и декодирования.

Предыдущая: Работа с JSONPath и PHP
Далее: Учебник по JSONP

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code