Serialize/Deseriali​ze

Version 1.1.0.0 (3.31 KB) by Tim
Encode and decode almost any matlab variable into a sequence of bytes.
2.1K Downloads
Updated 16 Dec 2010

View License

This pair of functions can serialize and deserialize (i.e. encode and decode) almost any matlab object into a sequence of bytes. This will be useful for saving objects to disk, sending them over the network, or perhaps to other programs.

Any combination of structs, cells and matrices are supported. All the data types (i.e. all integer sizes, chars, bools, singles and doubles) are supported. They are automatically converted back to double on decoding, but you can easily change this.

I haven't tested it extensively, but it's quite short so any bugs should be easy to fix.

Usage is like this:

astruct.field1 = [1 2 3]; astruct.field2 = {'foo', 'bar', 'baz'};
serialized_astruct = serialize(astruct);
deserialized_astruct = deserialize(serialized_astruct);

After execution, astruct and deserialized_astruct should be equal.

Cite As

Tim (2024). Serialize/Deserialize (https://www.mathworks.com/matlabcentral/fileexchange/29457-serialize-deserialize), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Data Type Conversion in Help Center and MATLAB Answers
Acknowledgements

Inspired by: serialize

Inspired: DataHash, Fast serialize/deserialize

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.0.0

Fix bug with single numbers.

1.0.0.0