2025-11-11
#js 
MessagePack.jsを調べて発見、もうひとつのバイナリフォーマットBSON。ついでに、こちらもESモジュール化しておきました。BSONは、MongoDBの内部データとして使われているとのこと。


「code4fukui/BSON: BSON in JavaScript/ESM」

CBOR、MessagePackと同様、encode/decodeの呼び出しだけで使えます。 import { BSON } from "https://code4fukui.github.io/BSON/BSON.js"; const object = { nil: null, integer: 1, float: Math.PI, string: "Hello, world!", binary: Uint8Array.from([1, 2, 3]), array: [10, 20, 30], map: { foo: "bar" }, timestampExt: new Date(), }; const encoded = BSON.encode(object); console.log(encoded); const obj = BSON.decode(encoded); console.log(obj); バイナリデータフォーマット間でいろいろと比較してみるのも楽しそうですね。

links
- BSON (Binary JSON) Serialization
- BSON - Wikipedia
- CBORの元になった日本発バイナリフォーマット、MessagePack.js
- ブラウザでもサーバーでも気軽に使えるバイナリフォーマットCBORをESモジュールにした「CBOR-es」公開

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS