===== Serialize (Funcție) ===== > **Engleză:** //to **SERIALIZE** = a serializa// ==== Format ==== **serialize** ( [[arrays|variabilă_tablou]] )\\ **serialize** ( [[Lists|{ x1, y1, x2, y2, x3, y3 ... }]] ) Întoarce [[stringexpressions|șir_de_caractere]] ==== 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|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 ==== {{page>ro:start#Șiruri de caractere&noheader}} ==== Istoric ==== |1.99.99.66|Adăugată în acestă versiune|