Serialization

Proporciona serialización de objetos de Julia.

Serialization.serializeFunction
serialize(stream::IO, value)

Escribe un valor arbitrario en un flujo en un formato opaco, de modo que se pueda leer de nuevo con deserialize. El valor leído será lo más idéntico posible al original, pero ten en cuenta que los valores Ptr se serializan como patrones de bits de cero (NULL).

Se escribe primero un encabezado identificador de 8 bytes en el flujo. Para evitar escribir el encabezado, construye un Serializer y úsalo como el primer argumento de serialize. Consulta también Serialization.writeheader.

El formato de datos puede cambiar en versiones menores (1.x) de Julia, pero los archivos escritos por versiones anteriores de 1.x seguirán siendo legibles. La principal excepción a esto es cuando la definición de un tipo en un paquete externo cambia. Si eso ocurre, puede ser necesario especificar una versión compatible explícita del paquete afectado en tu entorno. Renombrar funciones, incluso funciones privadas, dentro de los paquetes también puede desincronizar archivos existentes. Las funciones anónimas requieren un cuidado especial: debido a que sus nombres se generan automáticamente, cambios menores en el código pueden hacer que se renombren. Se debe evitar la serialización de funciones anónimas en archivos destinados a almacenamiento a largo plazo.

En algunos casos, el tamaño de palabra (32 o 64 bits) de las máquinas de lectura y escritura debe coincidir. En casos más raros, el sistema operativo o la arquitectura también deben coincidir, por ejemplo, al usar paquetes que contienen código dependiente de la plataforma.

source
serialize(filename::AbstractString, value)

Abre un archivo y serializa el valor dado en él.

Julia 1.1

Este método está disponible desde Julia 1.1.

source
Serialization.deserializeFunction
deserialize(stream)

Lee un valor escrito por serialize. deserialize asume que los datos binarios leídos de stream son correctos y han sido serializados por una implementación compatible de serialize. deserialize está diseñado para simplicidad y rendimiento, por lo que no valida los datos leídos. Los datos malformados pueden resultar en la terminación del proceso. El llamador debe asegurar la integridad y corrección de los datos leídos de stream.

source
deserialize(filename::AbstractString)

Abre un archivo y deserializa su contenido.

Julia 1.1

Este método está disponible a partir de Julia 1.1.

source
Serialization.writeheaderFunction
Serialization.writeheader(s::AbstractSerializer)

Escribe un encabezado identificador para el serializador especificado. El encabezado consiste en 8 bytes de la siguiente manera:

DesplazamientoDescripción
0byte de etiqueta (0x37)
1-2bytes de firma "JL"
3versión del protocolo
4bits 0-1: orden de bytes: 0 = poco, 1 = grande
4bits 2-3: plataforma: 0 = 32 bits, 1 = 64 bits
5-7reservado
source