Spec-Zone.ru › Julia 0.7

Сериализация

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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API