string.pack și string.unpack în Lua 5.3+: Serializarea Datelor Binare în Lua

Sintaxă
string.pack(fmt, v1, v2, ...)
string.unpack(fmt, s [, pos])

Î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).

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: string.pack și string.unpack în Lua 5.3+: Serializarea Datelor Binare

Ai o nelămurire despre utilizarea comenzii string.pack și string.unpack în Lua 5.3+: Serializarea Datelor Binare sau 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.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.