Dari dokumentasi boost.serialization : Di sini, kami menggunakan istilah "serialisasi" yang berarti dekonstruksi reversibel dari sekumpulan struktur data C ++ yang sewenang-wenang ke urutan byte. Sistem seperti itu dapat digunakan untuk menyusun kembali struktur yang setara dalam konteks program lain. Tergantung pada konteksnya, ini mungkin menggunakan objek persistence, passing parameter jarak jauh atau fasilitas lainnya. Dalam sistem ini kami menggunakan istilah "arsip" untuk merujuk pada rendering spesifik dari aliran byte ini. Ini bisa berupa file data biner, data teks, XML, atau lainnya yang dibuat oleh pengguna perpustakaan ini.
Dengan kata lain, serialisasi adalah setiap proses yang mengubah objek dalam memori menjadi semacam bytestream, dan deserialisasi melakukan sebaliknya, mengambil bytestream dan mengubahnya kembali menjadi objek dalam memori.
Istilah "serialisasi" tidak menyiratkan apa pun tentang format bytestream. Ini mungkin format biner yang dikemas secara efisien, atau deskripsi XML atau YAML yang longgar. Bahkan mungkin kode sumber dalam bahasa asli itu sendiri, atau dalam bahasa pemrograman lain, seperti JSON , yang merupakan bagian dari JavaScript. Format yang tepat dari aliran serial harus dipilih berdasarkan pada bagaimana Anda bermaksud menggunakannya.
Serialisasi adalah fitur bawaan dari banyak bahasa dan lingkungan - misalnya Java dan Python . Dalam bahasa tingkat rendah seperti C dan C ++, seseorang harus menggunakan (atau menulis) pustaka serialisasi , karena mekanisme yang disediakan oleh bahasa biasanya tidak cukup baik - ia tidak dapat mengikuti atau membuat serial petunjuk dan referensi, dan tunduk pada masalah endianness, karena contoh.
Wikipedia memiliki artikel yang layak tentang serialisasi.
Serialisasi digunakan secara luas dalam game (dan semua perangkat lunak) untuk banyak tujuan:
- Memuat daftar semua mantra dalam game dari file sumber daya.
- Menyimpan dan memuat game.
- Merekam keadaan hal-hal (misalnya posisi pemain dan inventaris) ke SQL atau database objek.
- Menjalankan panggilan fungsi jarak jauh melalui jaringan atau tautan IPC lainnya.