User Tools

Site Tools


ro:serialize

Serialize (Funcție)

Engleză: to SERIALIZE = a serializa

Format

Descriere

Instrucțiunea Serialize transformă o variabilă de tip tablou într-un sir de caractere (serializare). Aceasta memorează dimensiunile tabloului, tipul și valoarea fiecărui element din tablou. Funcția Unserialize are un efect invers, transformând un șir “serializat” înapoi într-un tablou sau într-o listă de elemente. Deseori programatorii creează un șir serializat astfel încât să poată salva valorile dintr-un tablou într-un fișier sau într-o bază de date.

Formatul unui tablou serializat

Șirul de caractere reprezentând datele unui tablou este o serie de valori separate prin semnul “:” (două puncte). Prima valoare din șir reprezintă numărul de rânduri, iar a doua numărul de coloane. Un tablou unidimensional va avea un singur rând (1), cu lungimea memorată în a doua valoare. Apoi urmează elementele tabloului. Primul caracter al fiecărei valori conține un caracter marker care definește tipul de date ('0' - valoare nealocată,' 1' - număr întreg, '2' - număr cu zecimale și' 3' - șir de caractere), urmat de valoarea elementului. Șirurile de caractere sunt convertite în hexazecimal astfel încât orice caractere Unicode sau caractere speciale vor fi stocate fără modificări. Șirurile întoarse conținând datele serializate vor conține NUMAI caracterele ':', '.', '0' - '9' și 'a' - 'f'.

Tabloul {1,2,3,4,5.555,“șase”} ar fi serializat în “1:6:11:12:13:14:25.555:3c899617365”, iar tabloul {{1,2},{3,4}} ar fi serializat în “2:2:11:12:13:14”.

Exemplu

dim a(3,4)
a[0,0] = 0
a[1,1] = 1
a[2,2] = 2
a[0,1] = 'șir de caractere cu "ghilimele"'
a[1,2] = 1.234
chestii = serialize(a[])
print chestii
dim c = unserialize(chestii)
# tabloul c este o copie identica a tabloului a

va afișa

3:4:10:3c89969722064652063617261637465726520637520226768696c696d656c6522:0:0:0:11:21.234:0:0:0:12:0

Vezi și

Istoric

1.99.99.66Adăugată în acestă versiune
ro/serialize.txt · Last modified: 2017/09/09 08:45 by junior-root