Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
pad and unpad byte arrayDemonstrates using the pad and unpad methods of CkByteArray. Downloads for Windows/Linux and Install Instructions require 'rubygems' require 'chilkat' data_bytes = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] data = Chilkat::CkByteData.new() data.append(data_bytes.pack("C10"), 10) # These are the padding options for the "pad" method: # 0 = Each padding byte is the pad count (16 extra added if size is already a multiple of 16) # 1 = Random bytes except the last is the pad count (16 extra added if size is already multiple of 16) # 2 = Pad with random data. (If already a multiple of 16, no padding is added). # 3 = Pad with NULLs. (If already a multiple of 16, no padding is added). # 4 = Pad with SPACE chars(0x20). (If already a multiple of 16, no padding is added). # We'll pad to a block size of 16 bytes. blockSize = 16 paddingScheme = 0 # Pad, display the padded byte data, unpad, then re-display data.pad(blockSize,paddingScheme) print data.getEncoded("hex") + "\n"; data.unpad(16,paddingScheme) print data.getEncoded("hex") + "\n"; print "----" + "\n"; paddingScheme = 1 # Pad, display the padded byte data, unpad, then re-display data.pad(blockSize,paddingScheme) print data.getEncoded("hex") + "\n"; data.unpad(16,paddingScheme) print data.getEncoded("hex") + "\n"; print "----" + "\n"; # There is no unpadding with schemes 2,3, and 4 data2_bytes = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] data2 = Chilkat::CkByteData.new() data2.append(data2_bytes.pack("C10"), 10) paddingScheme = 2 # Pad and display the padded byte data data2.pad(blockSize,paddingScheme) print data2.getEncoded("hex") + "\n"; print "----" + "\n"; # There is no unpadding with schemes 2,3, and 4 data3_bytes = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] data3 = Chilkat::CkByteData.new() data3.append(data3_bytes.pack("C10"), 10) paddingScheme = 3 # Pad and display the padded byte data data3.pad(blockSize,paddingScheme) print data3.getEncoded("hex") + "\n"; print "----" + "\n"; # There is no unpadding with schemes 2,3, and 4 data4_bytes = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] data4 = Chilkat::CkByteData.new() data4.append(data4_bytes.pack("C10"), 10) paddingScheme = 4 # Pad and display the padded byte data data4.pad(blockSize,paddingScheme) print data4.getEncoded("hex") + "\n"; print "----" + "\n"; |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.