Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

Quick Start
Ruby Unicode
Ruby Byte Array
Ruby Certs
Ruby Email
Ruby Encryption
Ruby FTP
HTML-to-XML
Ruby HTTP
Ruby IMAP
Ruby MHT
Ruby MIME
Ruby S/MIME
Ruby Signatures
Ruby RSA
Ruby Socket
Ruby Spider
Ruby Tar
Ruby Upload
Ruby XML
Ruby XMP
Ruby Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
DH Key Exchange
DSA

Unreleased...
LZW
Bz2
Icon

 

 

 

 

 

 

 

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.

Download Chilkat Ruby Library

require 'chilkat'

zipData = Chilkat::CkByteData.new()

success = zipData.loadFile("dude.zip")
if (success != true)
    print "Failed to load file" + "\n";
    exit
end

offset = 0

filenameLen = zipData.getUShort(26)

print zipData.getRangeStr(30,filenameLen) + "\n";

compressedSize = zipData.getUInt(18)
uncompressedSize = zipData.getUInt(22)

print compressedSize.to_s() + "\n";
print uncompressedSize.to_s() + "\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.