为什么叫BSON?

2024-01-15

那么 BSON 是 JSON 序列化的吗?

{"hello": "world"}"\x16\x00\x00\x00\x02hello\x00 \x06\x00\x00\x00world\x00\x00"

但为什么叫Binary Json呢?二进制代表什么?

我总是倾向于将二进制与 10101010101 联系起来。但是上面的 BSON 序列化格式并不是 101010101010 形式。

有人可以帮我解释一下这里的二进制意味着什么,以便我理解为什么它被称为二进制 JSON 吗?


它是二进制的,而不是文本。 JSON 是人类可读的文本,而 BSON 是二进制数据(只是字节)。你could将其写为 1001010 等,但更常见的是一次显示每个字节(因此 \x16 只是十六进制 16,即十进制字节 22)。基本上,这里的“二进制”是用来与文本数据进行比较的,并不是说它实际上是特别的基数2。

这意味着您只能在可以传输任意二进制数据的情况下使用 BSON。例如,如果您想在 XML 文档中嵌入 BSON(无论出于何种原因!),您必须首先对其进行 Base64 编码,因为 XML 是基于文本的表示形式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么叫BSON? 的相关文章

随机推荐

  • 在 p:datatable primefaces 之外找不到标识符为 h:selectBooleanCheckbox 的组件

    我的应用程序中有这段代码 我想将 h selectBooleanCheckbox 值提交到服务器 h selectBooleanCheckbox 位于 p tabView 内部和 p dataTable 外部 我想提交 h selectBo
  • Maven:自定义 web-app 项目的 web.xml

    我有一个 Web 应用程序 Maven 项目 我想根据正在运行的配置文件自定义 web xml 文件 我正在使用 Maven War plugin 它允许我定义一个 资源 目录 可以在其中过滤文件 然而 仅靠过滤对我来说还不够 更详细地说
  • 静态类中静态方法中的变量

    请考虑这段代码 1 public static class MyClass 2 3 public static DateTime MyMethod DateTime dt 4 5 DateTime temp new DateTime 6 t
  • 使用字符串数组声明 java 枚举

    我试图根据从数据库检索的数据声明枚举类型 我有一个方法 它返回表中所有行的字符串数组 我想将其转换为枚举类型 有没有办法用数组构造枚举 这是我尝试过的 但从它在 Eclipse 中的外观来看 这似乎只是创建了一个具有该名称的方法 publi
  • CodeMirror - 样式 Tern 智能感知标签

    我正在使用 CodeMirror 的 Tern 插件 它向编辑器添加了智能感知功能 即弹出内联提示标签 我想改变提示标签的样式 该怎么做 Tern 将 CSS 类名附加到提示框 您可以利用它们来设置样式 例如 CodeMirror Tern
  • 编写脚本来检查远程主机服务是否运行[重复]

    这个问题在这里已经有答案了 这是脚本 但即使 Apache 正在运行其 show stop 输出也是错误的 我使用的是 Ubuntu 12 04 ssh qn root ip if ps aux grep h ttpd gt dev nul
  • 发送电子邮件时出现 VBScript 错误“80040211”

    我在发送电子邮件时遇到错误 错误 80040211 这是我的代码的示例 Dim objMessage Set objMessage CreateObject CDO Message objMessage Subject Super Serv
  • 向元组添加值

    我最初使用 Idictonary 在 MVC 模型中存储字符串值 如下所示 public IDictionary
  • JavaScript 数组排序中的奇怪行为[重复]

    这个问题在这里已经有答案了 我在尝试对 JavaScript 数组进行排序时遇到了奇怪的行为 var arr a b C d e f g h I k arr sort function a b console log a b if a le
  • 为什么 Funcs 不接受超过 16 个参数?

    由于 Javascript 是我最精通的语言 因此我熟悉使用函数作为一等对象 我原本以为C 缺少这个功能 但后来我听说了Func and Action and delegate 我认为这非常棒 例如 您可以声明一个Func连接两个字符串并在
  • 我这里如何使用锁和条件?

    这里我有一个任务 我必须使用锁和条件 在方法 sum 和 randomSwap 中是我必须完成的任务 所以列举了我必须做的事情 首先是没有我编辑的方法中的类和任务 public class LockedDataObject extends
  • Darwin 10.15 上的自修改代码导致“格式错误的 mach-o 图像”?

    我有一个可以生成自修改代码的程序 请参阅https tigress wtf selfModify html https tigress wtf selfModify html如果你有兴趣的话 它在 x86 Darwin 和 Linux 上运
  • Zend 框架和 Couch DB

    Zend Framework 是否具有本机 Couch DB 支持 我只找到了 Matthew Weier O Phinney 的 Zend Couch http framework zend com wiki display ZFPROP
  • 如何使用 Elixir 生成随机 url 安全字符串

    我需要能够生成随机 url 安全字符串 以便我可以在链接中使用这些字符串 例如发送到用户电子邮件的激活链接 那么如何生成它呢 有没有办法只用 Elixir 来做到这一点 或者我必须使用一些库 您可以做的是生成一个 Base64 编码的字符串
  • 在.NET Core应用程序中可靠地终止通过cmd进程启动的node.js进程

    我想解决什么问题 为了改进我的构建管道 我想添加端到端测试步骤 我计划通过 CLI 工具 NET 控制台应用程序 来实现它 该工具将启动并编排一些npm node命令 进程 更具体地说 将会有 后端流程 前端流程 和一个测试过程 当测试过程
  • java.lang.ClassCastException: someClass 与 someClass 不兼容的含义

    我在 XPage 应用程序中偶尔遇到异常 java lang ClassCastException someClass incompatible with someClass 两个提到的类是相同的 都是用作会话bean的类 我无法用谷歌搜索
  • 如何为 M1 和 Intel 构建 openssl?

    我有一个需要使用 Libcrypto 的项目 我有两个版本的 Libcrypto 为 ARM64 构建的 libcrypto a 来自 OpenSSL 1 1 1 和 针对 Intel 的 lcrypto a 来自 OpenSSL 1 0
  • 修改控制器代码后出现“NameError,未初始化常量”错误

    我最近能够通过将所有内容分组到文件夹中来组织我的代码 我遇到了一个问题 即我的两个控制器组在以下情况下具有相同的 组名称 app 目录和我的模块下lib 目录 但我能够通过以下方式修复 Rails 库模块和一组控制器同名吗 https st
  • 如何在 yii2 中使用复选框删除多行

    如何在 GridView 中使用删除选定的对象 在 Yii 2 Framework 中如下图所示 在此输入图像描述 2 尝试这个
  • 为什么叫BSON?

    那么 BSON 是 JSON 序列化的吗 hello world x16 x00 x00 x00 x02hello x00 x06 x00 x00 x00world x00 x00 但为什么叫Binary Json呢 二进制代表什么 我总是