SOL File Format

Archived from http://sourceforge.net/docman/display_doc.php?docid=27026&group_id=131628, where the original is no longer available.


SOL File format

� 2005 Alexis ISAAC http://www.alexisisaac.net
Creative commons Attribution-ShareAlike 2.0 France

DRAFT

Important :

This file and the author of this file are not related with Macromedia. This document has been written to help the community but isn't an official document released by the creators of this file format. This document is the gatherering of all the informations I have been able to find about this file format.


1.Structure

The sol file format is composed of a header and a data block. The data block contains all the variables stored.

2.Header

It is 16 bytes long and contains the following informations :

3.Data block

The data block contains the name of the Shared Object : 2 bytes for the length of the string([unsigned word]) + the string([String]).

An unknown block of 4 bytes of 00 : 00 00 00 00

Then all the variables.

3.1 Item structure

All the variables inside the file root or inside an Object are structured this way :

3.2 Data types

3.2.1 Number

type value : 00

8 bytes [double]

3.2.2 Boolean

type value : 01

1 byte [00 or 01]

3.2.3 String

type value : 02

length of the string : 2 bytes [unsigned word]

string [String]

3.2.4 Object

type value : 03

All the child items.

Ending tag : 00 00 09

3.2.5 Null

type value : 05

Nothing

3.2.6 Undefined

type value : 06

Nothing

3.2.7 Pointer

Id of the pointed Object, Xml or Array counting from the begining of the file starting by 1. 2 bytes [unsigned word]

3.2.8 Array

type value : 08

Number of items : 4 bytes [longunsigned word]

All the child items. (Names are strings even if only numbers are used)

Ending tag : 00 00 09

3.2.9 Date

type value : 11

Time-Date : 8 bytes [double]

Time zone : 2 bytes (time_zone * -60) [signed word]

3.2.10 XML

type value : 15

The XML is stored as a String with a length wich could be > 655535.

length of the string : 4 bytes [unsigned longword]

string [String]

 

Appendix

data types :

double : http://en.wikipedia.org/wiki/Double_precision

string : http://en.wikipedia.org/wiki/UTF8

word : http://en.wikipedia.org/wiki/16-bit