序列化
提供Julia对象的序列化。
# *`序列化。序列化`*-函数
serialize(stream::IO, value)
以不透明格式将任意值写入流,以便可以通过 反序列化. 回读值将尽可能与原始值相同,但请注意 Ptr 值序列化为全零位模式(NULL).
一个8字节的标识头首先写入流。 为了避免写头,构造一个 序列化器 并用它作为第一个参数 序列化 相反。 请参阅 序列化。写作者.
数据格式可以在次要(1。X)Julia发布,但由prior1编写的文件。x版本将保持可读性。 这种情况的主要例外是当外部包中类型的定义发生变化时。 如果发生这种情况,可能需要在您的环境中指定受影响的包的显式兼容版本。 在包内重命名函数,甚至是私有函数,也会使现有文件不同步。 匿名函数需要特别注意:由于它们的名称是自动生成的,因此轻微的代码更改可能会导致它们被重命名。 应避免在用于长期存储的文件中序列化匿名函数。
在某些情况下,读写机器的字大小(32位或64位)必须匹配。 在较罕见的情况下,操作系统或体系结构也必须匹配,例如当使用包含依赖于平台的代码的包时。
serialize(filename::AbstractString, value)
打开一个文件并序列化给定的值。
|
兼容性
Julia1.1此方法自Julia1.1起可用。 |
# *`序列化。写作者`*-函数
Serialization.writeheader(s::AbstractSerializer)
将标识标头写入指定的序列化程序。 标头由8个字节组成,如下所示:
| 偏移量 | 资料描述 |
|---|---|
0 |
标签字节(0x37) |
1-2 |
签名字节"JL" |
3 |
协议版本 |
4 |
位0-1:endianness:0=小,1=大 |
4 |
位2-3:平台:0=32位,1=64位 |
5-7 |
预留 |