User Tools

Site Tools


en:serialize

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
en:serialize [2016/09/08 12:38]
admin
en:serialize [2016/11/07 12:18]
admin
Line 2: Line 2:
  
 ==== Format ==== ==== Format ====
-**serialize** ( [[arrays|array]] )\\+**serialize** ( [[arrays|array[]]] )\\
 **serialize** ( [[Lists|{ x1, y1, x2, y2, x3, y3 ... }]] ) **serialize** ( [[Lists|{ x1, y1, x2, y2, x3, y3 ... }]] )
  
Line 12: Line 12:
  
 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.   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 ==== ==== Example ====
 <code> <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> </code>
 will display will display
 <code> <code>
 +3:4:10:3737472696e672077697468202271756f74657322:0:0:0:11:21.234:0:0:0:12:0
 </code> </code>
  
Line 25: Line 42:
  
 ==== History ====  ==== History ==== 
-|1.99.99.65|New to Version| +|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)