[code.view]

[top] / python / PyMOTW / struct / struct_buffers.py

     #!/usr/bin/env python
     # encoding: utf-8
     #
     # Copyright (c) 2008 Doug Hellmann All rights reserved.
     #
     """
     """
     __version__ = "$Id$"
     #end_pymotw_header
     
     import struct
     import binascii
     
     s = struct.Struct('I 2s f')
     values = (1, 'ab', 2.7)
     print 'Original:', values
     
     print
     print 'ctypes string buffer'
     
     import ctypes
     b = ctypes.create_string_buffer(s.size)
     print 'Before  :', binascii.hexlify(b.raw)
     s.pack_into(b, 0, *values)
     print 'After   :', binascii.hexlify(b.raw)
     print 'Unpacked:', s.unpack_from(b, 0)
     
     print
     print 'array'
     
     import array
     a = array.array('c', '\0' * s.size)
     print 'Before  :', binascii.hexlify(a)
     s.pack_into(a, 0, *values)
     print 'After   :', binascii.hexlify(a)
     print 'Unpacked:', s.unpack_from(a, 0)
     

[top] / python / PyMOTW / struct / struct_buffers.py

contact | logmethods.com