Serialization

Fournit la sérialisation des objets Julia.

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

Écrit une valeur arbitraire dans un flux dans un format opaque, de sorte qu'elle puisse être relue par deserialize. La valeur relue sera aussi identique que possible à l'originale, mais notez que les valeurs Ptr sont sérialisées sous forme de motifs de bits tous à zéro (NULL).

Un en-tête d'identification de 8 octets est d'abord écrit dans le flux. Pour éviter d'écrire l'en-tête, construisez un Serializer et utilisez-le comme premier argument de serialize. Voir aussi Serialization.writeheader.

Le format de données peut changer dans les versions mineures (1.x) de Julia, mais les fichiers écrits par des versions antérieures à 1.x resteront lisibles. La principale exception à cela est lorsque la définition d'un type dans un package externe change. Si cela se produit, il peut être nécessaire de spécifier une version compatible explicite du package concerné dans votre environnement. Renommer des fonctions, même des fonctions privées, à l'intérieur des packages peut également désynchroniser les fichiers existants. Les fonctions anonymes nécessitent une attention particulière : parce que leurs noms sont générés automatiquement, de mineurs changements de code peuvent les renommer. La sérialisation de fonctions anonymes doit être évitée dans les fichiers destinés à un stockage à long terme.

Dans certains cas, la taille des mots (32 ou 64 bits) des machines de lecture et d'écriture doit correspondre. Dans des cas plus rares, le système d'exploitation ou l'architecture doit également correspondre, par exemple lors de l'utilisation de packages contenant du code dépendant de la plateforme.

source
serialize(filename::AbstractString, value)

Ouvrez un fichier et sérialisez la valeur donnée dans celui-ci.

Julia 1.1

Cette méthode est disponible depuis Julia 1.1.

source
Serialization.deserializeFunction
désérialiser(stream)

Lire une valeur écrite par sérialiser. désérialiser suppose que les données binaires lues depuis stream sont correctes et ont été sérialisées par une implémentation compatible de sérialiser. désérialiser est conçu pour la simplicité et la performance, et ne valide donc pas les données lues. Des données malformées peuvent entraîner l'arrêt du processus. L'appelant doit garantir l'intégrité et la justesse des données lues depuis stream.

source
désérialiser(nom_fichier::AbstractString)

Ouvre un fichier et désérialise son contenu.

Julia 1.1

Cette méthode est disponible depuis Julia 1.1.

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

Écrit un en-tête d'identification dans le sérialiseur spécifié. L'en-tête se compose de 8 octets comme suit :

DécalageDescription
0octet de balise (0x37)
1-2octets de signature "JL"
3version du protocole
4bits 0-1 : ordre des octets : 0 = petit, 1 = grand
4bits 2-3 : plateforme : 0 = 32 bits, 1 = 64 bits
5-7réservé
source