Wrap

Lets suppose you want to send a critical message that must be received exactly as it was sent, or maybe you want to send a data file where it's highly unlikely that even a trained operator could tell that there was an error in receiving the data.  Or perhaps you need to broadcast a weather bulletin or situation report to multiple stations and allow each station to verify that the message was received exactly as it was sent.

Wrap is an application that is designed to take care of each of these situations.  Wrap allows you to transmit a text message, image, or binary file to either single or multiple stations and allow each receiving station to verify that the transmission was received without error.

The wrap executable is a small desktop application that encapsulates a text file, an image file, or a binary file within a set of identifier blocks.  These blocks include a 16 bit checksum that is used to test the encapsulated file for integrity.  Wrap is designed to be used to best advantage with fldigi but can be used with any digital modem program.  Fldigi can recognize a wrapped transmission in the Rx data stream and automatically save the file.  Fldigi can process multiple wrapped files that are sent in rapid succession.  Fldigi does this without operator intervention.  The conversion of files to and from the wrapped format do still require an operator.

A text file is encapsulated without changes to the text.  Images and other binary files are first converted to a base-64 format.  The converted file is then encapsulated.  The header blocks identify the type of file and whether or not it has been converted to base-64.  Files with any of the following extensions will be treated as binary data files and converted to the base-64 format:

jpg, jpeg, png, gif, bmp, ico, zip, gz, tgz, and bz2

Using wrap is very simple.  Install the executable file and then create a short cut to the executable on the desktop.

Windows users may find it a bit confusing to install a program that does not have an installation wizard, but it really is very easy to do.  The wrap.exe program is contained in the zipped fldigi archive that also contains fldigi.exe and flarq.exe.  If you have already installed fldigi from this archive then you already have wrap.exe installed.  Keep all the executable files together.  If you are installing wrap by itself you unzip the wrap-1.0.zip file and extract its contents to a folder that is convenient to locate.  Then right-click on the extracted wrap.exe, hold the mouse button down, drag a shortcut from wrap.exe to the Desktop, and release the mouse button. You can also right-click on wrap.exe and choose "Send to Desktop (create a shortcut)".  Additional shortcuts to Wrap may be dragged into any convenient folder where files to be wrapped are located.

Left click (or double click) to launch the application and you will see a brief description of usage:  Open a file browser to the folder (directory) that contains the files that are to be wrapped .  

 

Drag and drop the file to be wrapped onto the desktop icon



and you will see the following results :



!! WRAPPED FILES ARE ALWAYS PLACED IN THE SAME FOLDER AS THE SOURCE FILE !!

The file "testbars-bw.png" has been wrapped by the drag and drop technique.  The results of the wrap appear in the wrap info dialog and you can see the new file in the WrapTest directory (all on a Linux computer).  The original file was an image and so it was converted to ASCII format using base-64 encoding before it was wrapped.  This file is small enough to examine to see how the wrapped file is formated:

[WRAP:beg][WRAP:lf][WRAP:fn testbars-bw.png][b64:start]
iVBORw0KGgoAAAANSUhEUgAAAJYAAADICAYAAAAKhRhlAAACK0lEQVR4nO3SMQHDMADEwCQs
PHvxaA7mj6lFoQztHYD/Rffe+3O9YK31Ex/nnPxjjJF/zDnT/Sdd528Ji4SwSAiLhLBICIuE
sEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiL
hLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgI
i4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBI
CIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4Sw
SAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuE
sEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiL
hLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgI
i4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBI
CIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEgIi4SwSAiLhLBICIuEsEh8ASah
BYyKy/QIAAAAAElFTkSuQmCC
[b64:end][WRAP:chksum DB95][WRAP:end]

At the receiving end the file might be named "wrap-090318-001.wrap."  Drag and drop it onto the wrap launch icon and the following results:



Notice that the original filename is used for the unwrapped file.

If the transfer had errors then the unwrap process would fail.  The message dialog would so indicate:



Certain files probably should not be considered for transfer without first compressing them.  All of the Microsoft Office files fall into this category.  You can satisfy yourself that this is true.  Try creating two documents

Document typeSize of fileCompressed with Zip
Excel spreadsheet with a single entry in the A1 cell = "1"13,824 bytes1,321 bytes
Word document with a single character "1" entered as the text24,064 bytes1,862 bytes

The original files are also binary files and should not be sent in the plain using any digital mode.  You would first have to compress the file and then wrap the compressed version before transmission.  But there is absolutely no good reason for transferring this type of a file over HF or VHF radio.

Oh yes that single character word document that contained the number "1".  It compressed to 1,862 bytes and then grew to 2,627 bytes after being converted to base-64 and wrapped for transmission.  2627 to 1 ... I sure would like those odds in the stock market !

The best practice with WRAP file transmission is to save messages as plain text files (txt) and spreadsheets or databases as comma delimited files (csv), both of which are common formats for any software packages, including the free Open Office suite.