Сериализация
Serialization.serializeФункция
serialize(stream::IO, value)
Записывает произвольное значение в поток в неявном формате, чтобы его можно было считать обратно с помощью deserialize. Считанное значение будет максимально идентичным исходному. В общем случае этот процесс не будет работать, если чтение и запись выполняются разными версиями Julia или экземплярами Julia с различными системными изображениями. Ptr значения сериализуются как все нулевые битовые шаблоны (NULL).
Сначала в поток записывается 8-байтовый идентификационный заголовок. Чтобы избежать записи заголовка, создайте Serializer и используйте его в качестве первого аргумента для serialize. См. также Serialization.writeheader.
Serialization.deserializeФункция
deserialize(stream)
Считывает значение, записанное с помощью serialize. deserialize предполагает, что двоичные данные, считанные из stream , корректны и были сериализованы совместимой реализацией serialize. Она разработана с целью простоты и производительности и не проверяет считанные данные. Неправильные данные могут привести к завершению процесса. Вызывающая сторона должна гарантировать целостность и корректность данных, считанных из stream.
Serialization.writeheaderФункция
Serialization.writeheader(s::AbstractSerializer)
Записывает идентификационный заголовок в указанный сериализатор. Заголовок состоит из 8 байтов следующим образом:
| Смещение | Описание |
|---|---|
| 0 | байт тега (0x37) |
| 1-2 | байты сигнатуры "JL" |
| 3 | версия протокола |
| 4 | биты 0-1: порядок байтов: 0 = little, 1 = big |
| 4 | биты 2-3: платформа: 0 = 32-битная, 1 = 64-битная |
| 5-7 | зарезервировано |
© 2009–2019 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v0.7.0/stdlib/Serialization/