Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
How to read a binary structure (.zip header)Demonstrates calling methods such as getUInt, getUShort, etc. to read integers in a binary structure. In this case, a .zip file is opened and the 1st local file header is examined.
import sys import chilkat zipData = chilkat.CkByteData() success = zipData.loadFile("dude.zip") if (success != True): print "Failed to load file" sys.exit() offset = 0 filenameLen = zipData.getUShort(26) print zipData.getRangeStr(30,filenameLen) compressedSize = zipData.getUInt(18) uncompressedSize = zipData.getUInt(22) print str(compressedSize) print str(uncompressedSize) # Note: Zip File Structure: # see: http://www.pkware.com/documents/casestudies/APPNOTE.TXT # Overall .ZIP file format: # [local file header 1] # [file data 1] # [data descriptor 1] # . # . # . # [local file header n] # [file data n] # [data descriptor n] # [archive decryption header] # [archive extra data record] # [central directory] # [zip64 end of central directory record] # [zip64 end of central directory locator] # [end of central directory record] # A. Local file header: # local file header signature 4 bytes (0x04034b50) # version needed to extract 2 bytes # general purpose bit flag 2 bytes # compression method 2 bytes # last mod file time 2 bytes # last mod file date 2 bytes # crc-32 4 bytes # compressed size 4 bytes # uncompressed size 4 bytes # file name length 2 bytes # extra field length 2 bytes # file name (variable size) # extra field (variable size) # ... |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.