Advertisement
rfmonk

struct_biffers.py

Jan 13th, 2014
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.58 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3.  
  4. import struct
  5. import binascii
  6.  
  7. s = struct.Struct('I 2s f')
  8. values = (1, 'ab', 2.7)
  9. print 'Original:', values
  10.  
  11. print
  12. print 'ctypes string buffer'
  13.  
  14. import ctypes
  15. b = ctypes.create_string_buffer(s.size)
  16. print 'Before   :', binascii.hexlify(b.raw)
  17. s.pack_into(b, 0, *values)
  18. print 'After    :', binascii.hexlify(b.raw)
  19. print 'Unpacked :', s.unpack_from(b, 0)
  20.  
  21. print
  22. print 'array'
  23.  
  24. import array
  25. a = array.array('c', '\0' * s.size)
  26. print 'Before   :', binascii.hexlify(a)
  27. s.pack_into(a, 0, *values)
  28. print 'After    :', binascii.hexlify(a)
  29. print 'Unpacked :', s.unpack_from(a, 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement