Spec-Zone.ru › Julia 1.9

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

Обеспечивает сериализацию объектов Julia.

Serialization.serializeФункция

serialize(stream::IO, value)

Записывает произвольное значение в поток в непрозрачном формате, позволяющем его последующее чтение с помощью deserialize. Считанное значение будет максимально идентичным оригинальному, но обратите внимание, что Ptr значения сериализуются как все нулевые битовые шаблоны (NULL).

Сначала в поток записывается 8-байтовый идентифицирующий заголовок. Чтобы избежать записи заголовка, создайте Serializer и используйте его в качестве первого аргумента для serialize вместо этого. Также см. Serialization.writeheader.

Формат данных может изменяться в незначительных (1.x) выпусках Julia, но файлы, записанные предыдущими версиями 1.x, останутся читаемыми. Основным исключением является изменение определения типа в стороннем пакете. Если это происходит, может потребоваться указать явную совместимую версию затронутого пакета в вашей среде. Переименование функций, даже внутренних функций, внутри пакетов также может привести к несовместимости существующих файлов. Анонимные функции требуют особого внимания: поскольку их имена генерируются автоматически, незначительные изменения кода могут привести к их переименованию. Сериализация анонимных функций следует избегать в файлах, предназначенных для длительного хранения.

В некоторых случаях размер слова (32 или 64 бита) машин чтения и записи должен совпадать. В более редких случаях также должна совпадать ОС или архитектура, например, при использовании пакетов, содержащих платформозависимый код.

serialize(filename::AbstractString, value)

Открывает файл и сериализует заданное значение в него.

Этот метод доступен начиная с Julia 1.1.

Serialization.deserializeФункция

deserialize(stream)

Читает значение, записанное с помощью serialize. deserialize предполагает, что двоичные данные, считанные из stream, корректны и были сериализованы совместимой реализацией serialize. deserialize разработано для простоты и производительности, и поэтому не проверяет считанные данные. Неправильно сформированные данные могут привести к завершению процесса. Вызывающий код должен гарантировать целостность и корректность данных, считанных из stream.

deserialize(filename::AbstractString)

Открывает файл и десериализует его содержимое.

Этот метод доступен начиная с Julia 1.1.

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–2024 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.10/stdlib/Serialization/

Spec-Zone.ru

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