unpack

Syntax

unpack(format, buf)

Arguments

format is a format string. See Appendix: Format Characters.
  • A format character may be preceded by an integral repeat count. For example, the format string 4h means exactly the same as hhhh.

  • Whitespace characters between formats are ignored; a count and its format must not contain whitespace though.

  • For the s format character, the count is interpreted as the length of the bytes, not a repeat count like for the other format characters; for example, 10s means a single 10-byte string, while 10c means 10 characters. If a count is not given, it defaults to 1. The string is truncated or padded with null bytes as appropriate to make it fit.

buf is a bytes object. The size of buf in bytes must match the size required by the format.

Details

Unpack from the buffer according to the format string format. The result is a tuple with the unpacked data even if it contains exactly one item.

Examples

res = pack("N",1);
res1 = unpack("N", res);
print(res1)
// output
(1)

res = pack("3s i", `123, 3)
res1 = unpack("3s i",  res);
print(res1)
// output
("123",3)