Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
pad and unpad byte arrayDemonstrates using the pad and unpad methods of CkByteArray. use chilkat; $data_bytes = pack "C10", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; $data = new chilkat::CkByteData(); $data->append($data_bytes,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") . "\r\n"; $data->unpad(16,$paddingScheme); print $data->getEncoded("hex") . "\r\n"; print "----" . "\r\n"; $paddingScheme = 1; # Pad, display the padded byte data, unpad, then re-display $data->pad($blockSize,$paddingScheme); print $data->getEncoded("hex") . "\r\n"; $data->unpad(16,$paddingScheme); print $data->getEncoded("hex") . "\r\n"; print "----" . "\r\n"; # There is no unpadding with schemes 2,3, and 4 $data2_bytes = pack "C10", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; $data2 = new chilkat::CkByteData(); $data2->append($data2_bytes,10); $paddingScheme = 2; # Pad and display the padded byte data $data2->pad($blockSize,$paddingScheme); print $data2->getEncoded("hex") . "\r\n"; print "----" . "\r\n"; # There is no unpadding with schemes 2,3, and 4 $data3_bytes = pack "C10", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; $data3 = new chilkat::CkByteData(); $data3->append($data3_bytes,10); $paddingScheme = 3; # Pad and display the padded byte data $data3->pad($blockSize,$paddingScheme); print $data3->getEncoded("hex") . "\r\n"; print "----" . "\r\n"; # There is no unpadding with schemes 2,3, and 4 $data4_bytes = pack "C10", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; $data4 = new chilkat::CkByteData(); $data4->append($data4_bytes,10); $paddingScheme = 4; # Pad and display the padded byte data $data4->pad($blockSize,$paddingScheme); print $data4->getEncoded("hex") . "\r\n"; print "----" . "\r\n"; |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.