#!/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)