Spec-Zone.ru › Julia 1.0

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

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/v1.0.4/stdlib/Serialization/

Spec-Zone.ru

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