UBJSON (.ubj)

予備知識

    • MIMEタイプ:application/ubjson.
    • データ交換バイナリ形式.
    • UBJSONシンタックスを完全にサポートする.
    • UBJSONはUBJSONオブジェクトをWolfram言語の連想であると見なす.
    • UBJSONはUniversal Binary JSONから派生した頭字語である.
    • 数値に対するビッグエンディアンオーダーのバイナリ形式.
    • JSONとUBJSONの間に一対一の変換がある.
    • UBJSONはhttp://ubjson.org/で規定されている.

ImportとExport

  • Import["file.ubj"]はUBJSONファイルをネストしたリストと連想の組合せとしてインポートする:
  • ImportString["string","UBJSON"]はバイトのUBJSON文字列をインポートする.
  • Export["file",expr,"UBJSON"]はネストしたリストと連想の組合せをUBJSONファイルにエキスポートする.
  • ExportString[expr,"UBJSON"]はバイトのUBJSON文字列にエキスポートする.
  • "UBJSON"形式はUBJSONオブジェクトをWolfram言語の連想であると見なす.
  • "UBJSON"はUBJSONのリスト[e1,e2,]をWolfram言語のリスト{e1,e2,}であると見なす.
  • Wolfram言語の単一文字の文字列は,UBJSONでは文字として表される.複数の文字によるWolfram言語の文字列はUBJSONの文字列として表される.
  • 機械精度の整数は,それが納まる最小のUBJSON整数型として表される.
  • 大きい整数はUBJSONの数字の文字列として表される.
  • Wolfram言語の機械精度数は,対応する最小のUBJSON浮動小数点型で表される.
  • Wolfram言語のパックアレーはUBJSONの配列として表される.複素数値はサポートされていない.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト

オプション

  • Exportオプション:
  • "ConversionFunction"None追加の変換で適用する関数
    "ConversionRules"{}オーバーライドまたは変換の追加のために適用する規則
  • "ConversionRules"の設定は組込みの変換が行われる前に部分式を置換するときに使用する.
  • "ConversionFunction"は組込みの変換が定義されていない部分式に適用される.

例題

  (7)

ListをUBJSON形式にエキスポートする:

式としてインポートする:

AssociationをUBJSON形式にエキスポートする:

式としてインポートする:

整数をエキスポートすると,さまざまなサイズの出力が生成される:

大きい整数をエキスポートすると,桁数に比例したサイズの出力が得られる:

ByteArrayをエキスポートすると,強い型付けのコンパクトなUBJSON配列の出力が得られる:

同じデータを通常のListとしてエキスポートする:

単一のASCII文字の文字列をエキスポートすると,UBJSONの文字が生成される:

ASCIIでない文字をエキスポートすると,UBJSON文字列出力が得られる:

文字列をエキスポートするとUBJSONの文字列が得られる:

変換規則を使用して,数量を連想に変換する:

式としてインポートする: