Cara menggunakan python struct unpack online

This module performs conversions between Python values and C structs represented as Python bytes objects. Format strings are the mechanism used to specify the expected layout when packing and unpacking data. Module struct is available in Python 3.x and not on 2.x, thus these codes will run on Python3 interpreter.

Struct Functions

  • struct.pack()
    Syntax: 
    struct.pack(format, v1, v2, ...)

    Return a string containing the values v1, v2, … , that are packed according to the given format (Format strings are the mechanism used to specify the expected layout when packing and unpacking data).The values followed by the format must be as per the format only, else struct.error is raised.




    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    0
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    1

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    3

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    4

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    5

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    6
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    8
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    9
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    1
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    3
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    5
    Syntax:
    struct.unpack(fmt, string)
    6

    Syntax:
    struct.unpack(fmt, string)
    7
    Syntax:
    struct.unpack(fmt, string)
    8

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    

    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    (True, 2, 5, 445)
    b'\x05\x00\x00\x00\x00\x00\x00\x0033\x13@'
    (5, 2.299999952316284)
    
    0

    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    (True, 2, 5, 445)
    b'\x05\x00\x00\x00\x00\x00\x00\x0033\x13@'
    (5, 2.299999952316284)
    
    1

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    6
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    8
    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    (True, 2, 5, 445)
    b'\x05\x00\x00\x00\x00\x00\x00\x0033\x13@'
    (5, 2.299999952316284)
    
    5
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    1
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    3
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    5
    Syntax:
    struct.unpack(fmt, string)
    6

    Syntax:
    struct.unpack(fmt, string)
    7
    Syntax:
    struct.unpack(fmt, string)
    8

    Output:

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
  • struct.unpack()
    Syntax:
    struct.unpack(fmt, string)

    Return the values v1, v2, … , that are unpacked according to the given format(1st argument). Values returned by this function are returned as tuples of size that is equal to the number of values passed through struct.pack() during packing.




    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    0
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    1

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    

    Syntax:
    struct.calcsize(fmt)
    fmt: format 
    8

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    6
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    8
    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    16
    12
    
    2
    Syntax:
    struct.unpack(fmt, string)
    0
    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    16
    12
    
    4
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    3
    Syntax:
    struct.unpack(fmt, string)
    0
    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    16
    12
    
    8
    Syntax:
    struct.unpack(fmt, string)
    0
    b'8\x00\x00\x00\x15\x14\x13\x12'
    8
    b'\x15\x14\x13\x128'
    5
    
    0
    Syntax:
    struct.unpack(fmt, string)
    6

    Syntax:
    struct.unpack(fmt, string)
    7
    Syntax:
    struct.unpack(fmt, string)
    8

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    

    b'8\x00\x00\x00\x15\x14\x13\x12'
    8
    b'\x15\x14\x13\x128'
    5
    
    5

    b'8\x00\x00\x00\x15\x14\x13\x12'
    8
    b'\x15\x14\x13\x128'
    5
    
    6

    b'8\x00\x00\x00\x15\x14\x13\x12'
    8
    b'\x15\x14\x13\x128'
    5
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'8\x00\x00\x00\x15\x14\x13\x12'
    8
    b'\x15\x14\x13\x128'
    5
    
    9
    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    16
    12
    
    2
    Syntax:
    struct.pack_into(fmt, buffer, offset, v1, v2, ...)
    fmt: data type format
    buffer: writable buffer which starts at offset (optional)
    v1,v2.. : values 
    1

    Syntax:
    struct.unpack(fmt, string)
    7
    Syntax:
    struct.pack_into(fmt, buffer, offset, v1, v2, ...)
    fmt: data type format
    buffer: writable buffer which starts at offset (optional)
    v1,v2.. : values 
    3

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    

    Syntax:
    struct.pack_into(fmt, buffer, offset, v1, v2, ...)
    fmt: data type format
    buffer: writable buffer which starts at offset (optional)
    v1,v2.. : values 
    5

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    6
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    8
    Syntax:
    struct.pack_into(fmt, buffer, offset, v1, v2, ...)
    fmt: data type format
    buffer: writable buffer which starts at offset (optional)
    v1,v2.. : values 
    9
    Syntax:
    struct.unpack(fmt, string)
    0
    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    16
    12
    
    8
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack_from(fmt, buffer[,offset = 0])fmt: data type format
    buffer: writable buffer which starts at offset (optional)
    3
    Syntax:
    struct.unpack(fmt, string)
    6

    Syntax:
    struct.unpack(fmt, string)
    7
    Syntax:
    struct.unpack(fmt, string)
    8

    b'8\x00\x00\x00\x15\x14\x13\x12'
    8
    b'\x15\x14\x13\x128'
    5
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'8\x00\x00\x00\x15\x14\x13\x12'
    8
    b'\x15\x14\x13\x128'
    5
    
    9
    Syntax:
    struct.pack_into(fmt, buffer, offset, v1, v2, ...)
    fmt: data type format
    buffer: writable buffer which starts at offset (optional)
    v1,v2.. : values 
    9
    Syntax:
    struct.pack_into(fmt, buffer, offset, v1, v2, ...)
    fmt: data type format
    buffer: writable buffer which starts at offset (optional)
    v1,v2.. : values 
    1

    Syntax:
    struct.unpack(fmt, string)
    7
    Syntax:
    struct.pack_into(fmt, buffer, offset, v1, v2, ...)
    fmt: data type format
    buffer: writable buffer which starts at offset (optional)
    v1,v2.. : values 
    3

    Output:

    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    (True, 2, 5, 445)
    b'\x05\x00\x00\x00\x00\x00\x00\x0033\x13@'
    (5, 2.299999952316284)
    

    Note: ‘b’ in the Output stands for binary.

  • struct.calcsize()
    Syntax:
    struct.calcsize(fmt)
    fmt: format 

    Return the size of the struct (and hence of the string) corresponding to the given format. calcsize() is important function, and is required for function such as struct.pack_into() and struct.unpack_from(), which require offset value and buffer as well.




    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    0
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    1

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    6
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    8
    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    16
    12
    
    2
    Syntax:
    struct.unpack(fmt, string)
    0
    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    16
    12
    
    4
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    3
    Syntax:
    struct.unpack(fmt, string)
    0
    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    16
    12
    
    8
    Syntax:
    struct.unpack(fmt, string)
    0
    b'8\x00\x00\x00\x15\x14\x13\x12'
    8
    b'\x15\x14\x13\x128'
    5
    
    0
    Syntax:
    struct.unpack(fmt, string)
    6

    Syntax:
    struct.unpack(fmt, string)
    7
    Syntax:
    struct.unpack(fmt, string)
    8

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    11

    Syntax:
    struct.unpack(fmt, string)
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    13
    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    16
    12
    
    2
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    15

    Syntax:
    struct.unpack(fmt, string)
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    13
    Syntax:
    struct.pack_into(fmt, buffer, offset, v1, v2, ...)
    fmt: data type format
    buffer: writable buffer which starts at offset (optional)
    v1,v2.. : values 
    9
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    15

    Output:

    b'\x01\x00\x02\x00\x05\x00\x00\x00\xbd\x01\x00\x00\x00\x00\x00\x00'
    16
    12
    




    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    0
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    1

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    6
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    8
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    25
    Syntax:
    struct.unpack(fmt, string)
    0
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    27
    Syntax:
    struct.unpack(fmt, string)
    0
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    29
    Syntax:
    struct.unpack(fmt, string)
    6

    Syntax:
    struct.unpack(fmt, string)
    7
    Syntax:
    struct.unpack(fmt, string)
    8

    Syntax:
    struct.unpack(fmt, string)
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    13
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    25
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    15

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    6
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    8
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    40
    Syntax:
    struct.unpack(fmt, string)
    0
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    29
    Syntax:
    struct.unpack(fmt, string)
    0
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    27
    Syntax:
    struct.unpack(fmt, string)
    6

    Syntax:
    struct.unpack(fmt, string)
    7
    Syntax:
    struct.unpack(fmt, string)
    8

    Syntax:
    struct.unpack(fmt, string)
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    13
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    40
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    15

    Output:

    b'8\x00\x00\x00\x15\x14\x13\x12'
    8
    b'\x15\x14\x13\x128'
    5
    

    Note: The ordering of format characters may have an impact on size.

  • Exception struct.error
    Exception struct.error describes what is wrong at passing arguments, when a wrong argument is passed struct.error is raised.




    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    52
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    1
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    0
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    55

    Syntax:
    struct.unpack(fmt, string)
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    57

    Note: This is piece of code is not useful, anywhere other than exception handling, and is used to show that ‘error’ upon interpreted shows about the class.

  • struct.pack_into()
    Syntax:
    struct.pack_into(fmt, buffer, offset, v1, v2, ...)
    fmt: data type format
    buffer: writable buffer which starts at offset (optional)
    v1,v2.. : values 
  • struct.unpack_from()
    Syntax:
    struct.unpack_from(fmt, buffer[,offset = 0])fmt: data type format
    buffer: writable buffer which starts at offset (optional)

    Returns a tuple, similar to struct.unpack()




    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    0
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    1

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    61

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    0
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    63

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    65

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    66
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    68
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    9
    Syntax:
    struct.unpack(fmt, string)
    6

    Syntax:
    struct.unpack(fmt, string)
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    72

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    74

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    75
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    77

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    79

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    80

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    81
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    8
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    9
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    3
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    3
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    5
    Syntax:
    struct.unpack(fmt, string)
    6

    Syntax:
    struct.unpack(fmt, string)
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    93

    Syntax:
    struct.unpack(fmt, string)
    7
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    95
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    9
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    97

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    

    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    99

    Syntax:
    struct.unpack(fmt, string)
    00

    Syntax:
    struct.unpack(fmt, string)
    01
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    9
    Syntax:
    struct.unpack(fmt, string)
    03
    Syntax:
    struct.unpack(fmt, string)
    04
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    3
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    3
    Syntax:
    struct.unpack(fmt, string)
    0
    Syntax:
    struct.unpack(fmt, string)
    5
    Syntax:
    struct.unpack(fmt, string)
    6

    Syntax:
    struct.unpack(fmt, string)
    7
    Syntax:
    struct.unpack(fmt, string)
    13
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    9
    Syntax:
    struct.unpack(fmt, string)
    03
    Syntax:
    struct.unpack(fmt, string)
    04
    b'\x01\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    b'\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'
    
    15

    Output:

    16
    b'\x02\x00\x02\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00'
    (2, 2, 3)
    (2, 2, 3)
    

Reference https://docs.python.org/2/library/struct.html
This article is contributed by Piyush Doorwar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to [email protected]. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.