Serialization

Serialization.serialize ── 関数

serialize(stream::IO, value)

deserialize で読み戻せる不透明なフォーマットを使って、任意の値をストリームに書き込みます。読み戻された値は元の値と可能な限り同一となります。一般に、読み込みと書き込みで使われる Julia のバージョンもしくはシステムイメージが異なるとデシリアライズ処理は失敗します。Ptr は全てゼロのビットパターン (NULL) としてシリアライズされます。

ストリームには 8 バイトの識別ヘッダーが最初に書き込まれます。ヘッダーを書き込まないようにするには、Serializer を構築してから serialize の第一引数にそれを渡してください。writeheader にも情報があります。

serialize(filename::AbstractString, value)

ファイルを開いて与えられた値をそこにシリアライズします。

Julia 1.1

このメソッドは Julia 1.1 以降でサポートされます。

Serialization.deserialize ── 関数

deserialize(stream)

serialize が書き込んだ値を読み込みます。deserializestream からのバイナリデータが正しく、serialize と互換性のある実装でシリアライズされたことを仮定します。単純さと性能を目標として設計されており、読み込まれるデータの確認は行われません。不正なデータを読むとプロセスが終了する可能性があります。stream からのデータが完全で正しいことを保証するのは呼び出し側の責任です。

deserialize(filename::AbstractString)

ファイルを開いて、その内容をデシリアライズします。

Julia 1.1

このメソッドは Julia 1.1 以降でサポートされます。

Serialization.writeheader ── 関数

Serialization.writeheader(s::AbstractSerializer)

指定されたシリアライザに識別ヘッダーを書き込みます。ヘッダーは 8 バイトであり、その意味は次の通りです:

オフセット 説明
0 タグバイト (0x37)
1-2 シグネチャバイト "JL"
3 プロトコルバージョン
4, ビット 0-1 エンディアン
(0 = リトル, 1 = ビッグ)
4, ビット 2-3 プラットフォーム
(0 = 32 ビット, 1 = 64 ビット)
5-7 予約領域
広告