Începând cu Lua 5.3, funcțiile string.pack și string.unpack permit împachetarea și despachetarea valorilor native în/din structuri binare compacte conform unui format specificat (similar cu modulul struct din Python).
-- Format: '>I2 i4 f' = Big-endian: uint16, int32, float
local formatStruct = ">I2 i4 f"
local pachetBinar = string.pack(formatStruct, 1024, -50000, 3.1415)
print("Dimensiune pachet: " .. #pachetBinar .. " octeți")
-- Despachetare din buffer binar:
local u16, i32, flt, urmatoareaPoz = string.unpack(formatStruct, pachetBinar)
print(string.format("Valori citite: %d, %d, %.4f", u16, i32, flt))
Coduri frecvente de format: b/B (int8/uint8), h/H (int16/uint16), l/L (int64/uint64), f/d (float/double), s (șir prefixat cu lungime), < (little-endian), > (big-endian).
Întrebări & Exemple de Cod:
string.pack și string.unpack în Lua 5.3+: Serializarea Datelor BinareAi o nelămurire despre utilizarea comenzii
string.pack și string.unpack în Lua 5.3+: Serializarea Datelor Binaresau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.