Skip to main content

Serialize

Serialize (Function)

Format

serialize ( variable[] )
serialize ( { x1, y1, x2, y2, x3, y3 ... } )

returns string_expression

Description

The serialize statement creates a string that encodes the dimensions, types, and values in an array. The Unserialize function will take a “serialized” string and return an array or list.

Often developers will create a serialized string so that they may save the values in an array into a data file or a database table.

Format of the Serialized Array

The string representing the array‘s data is a series of values separated by a colon ’:‘. The first value represents the number of rows and the second the number of columns. A one dimensional array will have a single row (1), with the length in the second value. The elements of the array follow. The first character of each value contains a marker byte defining the data type (’0’-unassigned, ‘1’-integer, ‘2’-float, and ‘3’-string). The actual array data follows. Strings are converted to hexadecimal so that any Unicode or special characters will be stored without change. The strings returned will contain ONLY ‘:’, ‘.’, ‘0’-‘9’, and ‘a’-‘f’.

The array {1,2,3,4,5.555,“six”} would be serialized to “1:6:11:12:13:14:25.555:3736978” and the array {{1,2},{3,4}} would be serialized to “2:2:11:12:13:14”.

Example

dim a(3,4)
a[0,0] = 0
a[1,1] = 1
a[2,2] = 2
a[0,1] = 'string with "quotes"'
a[1,2] = 1.234

stuff = serialize(a[])
print stuff

dim c = unserialize(stuff)
# the array c is an exact copy of the array a

will display

3:4:10:3737472696e672077697468202271756f74657322:0:0:0:11:21.234:0:0:0:12:0

See Also

Asc, Chr, Count, Countx, Explode, Explodex, Implode, Instr, Instrx, Left, Length, Ljust, Lower, LTrim, MD5, Mid, Midx, Replace, Replacex, Right, Rjust, RTrim, Serialize, String, Trim, Unserialize, Upper, Zfill

History

1.99.99.66New to Version
1.99.99.72added required [] to passing variable array