Loading article…
これは、複雑なオブジェクトをビットのシーケンスに変換するさまざまな方法であるデータシリアル化形式の比較 です。ドキュメントファイル形式としてのみ使用されるマークアップ言語は含まれていません。
概要
- ^現在のデフォルト形式はバイナリです。
- ^「クラシック」形式はプレーンテキストであり、XML 形式もサポートされています。
- ^抽象化により理論的には可能ですが、実装は含まれていません。
- ^主な形式はバイナリですが、テキスト形式とJSON形式も利用できます。 [8] [9]
- ^汎用ツール/ライブラリが、同じドキュメント内の別のデータへの参照をエンコード、デコード、および逆参照する方法を知っていることを意味します。ツールにはIDLファイルが必要な場合がありますが、それ以上は必要ありません。カスタムの非標準化参照手法は除外されます。
- ^ ASN.1 には、X.681 (情報オブジェクト システム)、X.682 (制約)、X.683 (パラメータ化) があり、値の型を整数やOIDなどで識別できるオープン タイプの正確な仕様を可能にします。OID は、グローバルに一意な識別子の標準形式であると同時に、値のコンポーネントを参照するための標準表記 (「絶対参照」) でもあります。たとえば、PKIX は RFC 5912 でこのような表記を使用しています。このような表記 (情報オブジェクト セットを使用したパラメータ化された型の制約) により、汎用 ASN.1 ツール/ライブラリは、ドキュメント内の参照を自動的にエンコード/デコード/解決できます。
- ^主なフォーマットはバイナリですが、JSONエンコーダーも利用可能です。 [10]
- ^主な形式はバイナリですが、テキスト形式も利用できます。
人間が読める形式の構文比較
- ^省略された XML 要素は、通常、 XML データ バインディングツールによって NULL としてデコードされます。ここに示すのは別の可能なエンコーディングです。XMLスキーマでは、このデータ型のエンコーディングは定義されていません。
- ^ RFC CSV 仕様は、区切り文字、改行、引用符文字のみを扱います。プログラミングデータ構造のシリアル化は直接扱いません。
- ^ netstrings仕様はネストされたバイト文字列のみを扱います。それ以外は仕様の範囲外です。
- ^ PHPは浮動小数点数を正しく逆シリアル化しますが、10進数展開でシリアル化します。たとえば、3.14は次のようにシリアル化されます。3.140 000 000 000 000 124 344 978 758 017 532 527 446 746 826 171 875。
- ^ XML データ バインディングとSOAPシリアル化ツールは、プログラミングデータ構造を XML にタイプ セーフな XML シリアル化します。XML 要素と属性に配置できる XML 値を示します。
- ^この構文はインターネットドラフトとは互換性がありませんが、 Lispのいくつかの方言で使用されています。
バイナリ形式の比較
- ^ Any XML based representation can be compressed, or generated as, using EXI – "Efficient XML Interchange (EXI) Format 1.0 (Second Edition)".[17] – which is a "Schema Informed" (as opposed to schema-required, or schema-less) binary compression standard for XML.
- ^ All basic Ion types have a null variant, as its 0xXf tag. Any tag beginning with 0x0X other than 0x0f defines ignored padding.
- ^ Interpretation of Netstrings is entirely application- or schema-dependent.
See also
References
- ^ Apache Thrift
- ^ Bormann, Carsten (2018-12-26). "CBOR relationship with msgpack". GitHub. Retrieved 2023-08-14.
- ^ "Implementations". GitHub.
- ^ "HAPI FHIR - The Open Source FHIR API for Java". hapifhir.io.
- ^ cpython/Lib/pickle.py
- ^ "A Brief History of SOAP". www.xml.com.
- ^ Ben-Kiki, Oren; Evans, Clark; Net, Ingy döt (2009-10-01). "YAML Ain't Markup Language (YAML) Version 1.2". The Official YAML Web Site. Retrieved 2012-02-10.
- ^ "text_format.h - Protocol Buffers". Google Developers.
- ^ "JSON Mapping - Protocol Buffers". Google Developers.
- ^ "Avro Json Format".
- ^ "NSPropertyListSerialization class documentation". www.gnustep.org. Archived from the original on 2011-05-19. Retrieved 2009-10-28.
- ^ "Documentation Archive". developer.apple.com.
- ^ Oren Ben-Kiki; Clark Evans; Brian Ingerson (2005-01-18). "Null Language-Independent Type for YAML Version 1.1". YAML.org. Retrieved 2009-09-12.
- ^ ab Oren Ben-Kiki、Clark Evans、Brian Ingerson (2005-01-18)。「YAML バージョン 1.1 のブール型言語非依存型」。YAML.org。Clark C. Evans。2009年 9 月 12 日閲覧。
- ^ Oren Ben-Kiki、Clark Evans、Brian Ingerson (2005-02-11)。「YAML バージョン 1.1 の整数言語非依存型」。YAML.org。Clark C. Evans。2009年 9 月 12 日閲覧。
- ^ Oren Ben-Kiki、Clark Evans、Brian Ingerson (2005-01-18)。「YAML バージョン 1.1 の浮動小数点言語非依存型」。YAML.org。Clark C. Evans。2009年 9 月 12 日閲覧。
- ^ 「効率的な拡張可能な交換」。
- ^ イオンバイナリエンコーディング
- ^ 「MessagePack は非常に効率的なオブジェクトシリアル化ライブラリです。JSON に似ていますが、非常に高速で小さいです。: msgpack/msgpack」。2019 年 4 月 2 日 – GitHub 経由。
外部リンク
- XML の利点を議論する XML-QL 提案
- XML をあまり使わない
