Serialization

Julia nesnelerinin serileştirilmesini sağlar.

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

Bir akışa, deserialize ile geri okunabilecek opak bir formatta rastgele bir değer yazın. Geri okunan değer, mümkün olduğunca orijinaline benzer olacaktır, ancak Ptr değerlerinin tüm sıfır bit desenleri (NULL) olarak serileştirildiğini unutmayın.

Öncelikle akışa 8 baytlık bir tanımlayıcı başlık yazılır. Başlığı yazmaktan kaçınmak için bir Serializer oluşturun ve bunu serialize'a ilk argüman olarak kullanın. Ayrıca bkz. Serialization.writeheader.

Veri formatı, küçük (1.x) Julia sürümlerinde değişebilir, ancak önceki 1.x sürümleriyle yazılan dosyalar okunabilir kalacaktır. Bunun ana istisnası, bir dış paketteki bir türün tanımının değişmesidir. Bu durumda, etkilenen paketin uyumlu bir sürümünü ortamınıza açıkça belirtmek gerekebilir. Paketler içindeki özel işlevlerin bile yeniden adlandırılması, mevcut dosyaların senkronizasyonunu bozabilir. Anonim işlevler özel bir dikkat gerektirir: çünkü adları otomatik olarak oluşturulur, küçük kod değişiklikleri onların yeniden adlandırılmasına neden olabilir. Uzun vadeli depolama için tasarlanmış dosyalarda anonim işlevlerin serileştirilmesinden kaçınılmalıdır.

Bazı durumlarda, okuma ve yazma makinelerinin kelime boyutu (32 veya 64 bit) eşleşmelidir. Daha nadir durumlarda, işletim sistemi veya mimari de eşleşmelidir; örneğin, platforma bağımlı kod içeren paketler kullanıldığında.

source
serialize(filename::AbstractString, value)

Bir dosya açın ve verilen değeri ona serileştirin.

Julia 1.1

Bu yöntem Julia 1.1 itibarıyla mevcuttur.

source
Serialization.deserializeFunction
deserialize(stream)

serialize ile yazılmış bir değeri okuyun. deserialize, stream'den okunan ikili verinin doğru olduğunu ve serialize ile uyumlu bir uygulama tarafından serileştirildiğini varsayar. deserialize, basitlik ve performans için tasarlanmıştır, bu nedenle okunan veriyi doğrulamaz. Bozuk veriler işlem sonlanmasına neden olabilir. Çağrıcı, stream'den okunan verinin bütünlüğünü ve doğruluğunu sağlamalıdır.

source
deserialize(filename::AbstractString)

Bir dosyayı açın ve içeriğini serileştirin.

Julia 1.1

Bu yöntem Julia 1.1 itibarıyla mevcuttur.

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

Belirtilen serileştiriciye tanımlayıcı bir başlık yazın. Başlık, aşağıdaki gibi 8 bayttan oluşur:

OfsetAçıklama
0etiket baytı (0x37)
1-2imza baytları "JL"
3protokol versiyonu
4bit 0-1: sonlandırma sırası: 0 = küçük, 1 = büyük
4bit 2-3: platform: 0 = 32-bit, 1 = 64-bit
5-7ayrılmış
source