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. use chilkat; $zipData = new chilkat::CkByteData(); $success = $zipData->loadFile("dude.zip"); if ($success != 1) { print "Failed to load file" . "\r\n"; exit; } $offset = 0; $filenameLen = $zipData->getUShort(26); print $zipData->getRangeStr(30,$filenameLen) . "\r\n"; $compressedSize = $zipData->getUInt(18); $uncompressedSize = $zipData->getUInt(22); print $compressedSize . "\r\n"; print $uncompressedSize . "\r\n"; # 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-2007 Chilkat Software, Inc. All Rights Reserved.