Что такое сериализация?

Краткий перевод статьи "What is Serializations?" автора George Offley.

Сериализация - это когда мы свои данные переводим в поток байтов, чтобы можно было их куда-то передать. Позже этот поток байтов можно вернуть в прежнее состояние с помощью десериализации.

Сериализация - это процесс, когда один из сервисов берет структуру данных (например, словарь в Python), упаковывает её и передаёт другой службе для чтения.

Представьте, что мне надо передать сообщение кому-то. Я пишу текст, разбиваю его на слова, пишу инструкцию как снова собрать эти слова в сообщение и отправляю инструкцию вместе со словами.

Получатель собирает слова по инструкции и получает моё сообщение.

Технически всё немного сложнее. Сериализация - это процесс конвертции данных в поток байтов, с сохранением структуры объекта для сохранения данных или передачи по сети. Это помогает уменьшить необходимое пространство для хранения и делает передачу данных по сети проще.

Маршалинг и сериализация - это одно и то же?

Вам может вспомниться маршалинг. Маршалинг — это процесс преобразования представления объекта в памяти в форму, подходящую для передачи.

Хотя очень часто сериализация и маршалинг - это синонимы, но есть ключевое различие. Например, при создании программы на Go для преобразования JSON в структуры данных Go, вы можете использовать маршалинг для перевода ключей JSON в переменные Go.

Различие в том, что маршалинг может использоваться для перевода данных. Сериализация, напротив, просто хранит данные в байтовом потоке и потом собирает их обратно. Оба процесса делают сериализацию, но есть разница в целях этих процессов.

Комментариев ещё нет. Оставьте первый!