User Tools

Site Tools


en:serialize

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:serialize [2016/11/07 12:20]
admin
en:serialize [2020/02/28 10:46]
Line 1: Line 1:
-===== Serialize (Function) ===== 
  
-==== Format ==== 
-**serialize** ( [[arrays|variable[]]] )\\ 
-**serialize** ( [[Lists|{ x1, y1, x2, y2, x3, y3 ... }]] ) 
- 
-returns [[stringexpressions|string_expression]] 
- 
-==== Description ==== 
- 
-The serialize statement creates a string that encodes the dimensions, types, and values in an array.  The [[Unserialize|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 ==== 
-<code> 
-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 
-</code> 
-will display 
-<code> 
-3:4:10:3737472696e672077697468202271756f74657322:0:0:0:11:21.234:0:0:0:12:0 
-</code> 
- 
-==== See Also ==== 
-{{page>en:start#String Handling&noheader}} 
- 
-==== History ====  
-|1.99.99.66|New to Version| 
-|1.99.99.72|added required [] to passing variable array| 
en/serialize.txt ยท Last modified: 2020/02/28 10:46 (external edit)