His saving system was supposed to be minimalistic in order to allow players to upload saves fast.
This means only baseplates save ownership.
Then why not this?
First, a 4 byte magic string. Something like BLSF? After it, the length of the description as a byte and the raw description.
Then, the number of colors in the colorset as a byte with 4 bytes repeated over and over after it representing each color.
Next follows a completely repeatable syntax. This could be sent individually to improve loading performance:
Each brickgroup is sent as a "chunk" of the body.
First, the number of bricks in the brick group as a long. Then just a long(?) BL_ID and a unsigned short-prefixed name string.
It will keep trying to look for a brick in the stream until the number of bricks has been reached.
If it reaches the number of bricks and there's no more data, save is done. Otherwise, it's the number of bricks in the next brick group.
Bricks are also pretty simple to make up a format for but I don't have all day.