Encode-O-Matic Help

This is a guide to using Encode-O-Matic. At the moment this only describes some of the features of Encode-O-Matic. Sorry about that. I'll describe the program fully if anyone uses this help. On that note, if you find something isn't described to your liking send an email to the address listed in the about dialog of Encode-O-Matic.

General Usage

The following is a screen shot of the general view of the application.
Screen shot of Encode-O-Matic.
There are three main sections. The bottom left is the Input section, the bottom right is the Output section, and the top is the Conversion section.

The text from the Input section is run through each of the conversions in the Conversion section top to bottom and then displayed in the Output section. So in this example, the input text is first run through the Base64 Decoder, then the Percent Decoder, then the SGML Decoder and the result is displayed in the Output section.

Input Section

The Input section allows you to input any text.

Before being run through the converters, the input text is converted to a series of bytes in the UTF-8 encoding. This doesn't matter if the conversions only deal with text like those listed in the screen shot, but if the conversion deals with bytes such as the Hex Encode converter then it does matter.

Output Section

The Output section displays the result of the Input section's text run through the conversions in the Conversion section.

The bytes from the Conversion section are converted from UTF-8 to the text displayed in the Output section.

Conversion Section

This is an ordered list of conversions to perform on the text of the Input section.

Each entry in the list consists of a '+' button, '-' button, conversion name drop down, '...' button, and '?' button.

The '+' button inserts a new entry into the list above the one in which you clicked the '+'.
The '-' button removes the entry in which you clicked the '-'.
The conversion name drop down allows you to select the conversion to perform in this entry.
The '...' button allows you to configure the conversion. If disabled then there is nothing to configure for this conversion.
The '?' button gives you brief help concerning the selected conversion.

Conversion Configuration

The following is a screen shot of the application while configuring a converter.
Screen shot of Encode-O-Matic.
Each converter may allow you to configure it. In this case clicking the '...' next to the conversion in the Conversion section opens a dialog that allows you to configure it.

The configuration dialog consists of a set of configurable values. Each entry has a name label, value text box, '+' button, 'D' button, and a '?' button.

The name label is a name identifying the configurable value of this entry.
The value text box allows you to view and change the value of the configurable value entry.
The '+' button when clicked sets the configurable value to the contents of the value text box. If the text box contains an invalid value you will be notified of what's wrong and how to fix it.
The 'D' button when clicked changes the contents of the value text box to the default value for the configurable value.
The '?' button when clicked gives you a description of the configurable value including its purpose and possible valid values.

Conversion Descriptions

Character Set Conversion
Converts the input from one specified codepage to another for the output. This is done using Encoding.Convert.
Character Width Conversion
Converts the character width of the input from one width to another for the output.
Unicode Normalization
Unicode normalization. This is done using NormalizeString.
IDN ToUnicode / IDN ToASCII
IDN escaping. ToUnicode decodes punycode and ToASCII encodes strings in punycode as defined in Internationalizing Domain Names in Applications (IDNA). This is done using IdnToUnicode and IdnToAscii.
SGML Encode / Decode
HTML and XML escaping. These encode and decode HTML character references and XML character references.
Hex Encode / Decode
Bytes values represented in hex using US-ASCII digits delimited by whitespace.
Percent Encode / Decode
URI escaping. Percent-encoding is defined in RFC 3986.
Slash Escape Encode / Decode
C, C++, C#, Java quoted string escaping. Decodes or encodes characters using the slash escaping for string literals in C, C++, C#, and Java.
Reverse
Reverse the input byte by byte, character by character, or string by string where strings are delimited by a specified set of delimiters.
URL Encode / Decode
Run the input through HttpUtility.UrlEncode or HttpUtility.UrlDecode.
Base64 Encode / Decode
Run the input through Convert.FromBase64String or Convert.ToBase64String.
Base Convert
Takes the input as a series of whitespace delimited numbers in the source base and converts them to whitespace delimited numbers in the destination base. The bases are specified by an "alphabet" where each element in the alphabet is a different digit. For example '0123456789' is the common alphabet for the decimal base and '01' for binary.
ROT
Rotates by a specified distance byte by byte, character by character, or only applied to US-ASCII alpha characters. See ROT-13
Quoted Printable Encode / Decode
Encodes or decodes strings encoded using the MIME Content-Transfer-Encoding Quoted-Printable.
CSS Encode / Decode
Encodes or decodes strings using CSS Escaping.

© David Risney. All Rights Reserved.
http://deletethis.net/dave/encodeomatic/help.html