<?xml version="1.0" ?>
<XML_DIZ_INFO>
<MASTER_PAD_VERSION_INFO>
<MASTER_PAD_VERSION>3.10</MASTER_PAD_VERSION>
<MASTER_PAD_EDITOR>PADGen 3.1.0.41 http://www.padgen.org</MASTER_PAD_EDITOR>
<MASTER_PAD_INFO>Portable Application Description, or PAD for short,
is a data set that is used by shareware authors to disseminate information to anyone interested in their software products.
To find out more go to http://pad.asp-software.org</MASTER_PAD_INFO>
</MASTER_PAD_VERSION_INFO>
<Company_Info>
		<Company_Name>Canadian Mind Products</Company_Name>
		<Address_1>#101 - 2536 Wark Street</Address_1>
		<Address_2>Quadra Village</Address_2>
		<City_Town>Victoria</City_Town>
		<State_Province>BC</State_Province>
		<Zip_Postal_Code>V8T 4G8</Zip_Postal_Code>
		<Country>Canada</Country>
		<Company_WebSite_URL>http://mindprod.com</Company_WebSite_URL>
		<Contact_Info>
			<Author_First_Name>Roedy</Author_First_Name>
			<Author_Last_Name>Green</Author_Last_Name>
			<Author_Email>inquiry@mindprod.com</Author_Email>
			<Contact_First_Name>Roedy</Contact_First_Name>
			<Contact_Last_Name>Green</Contact_Last_Name>
			<Contact_Email>inquiry@mindprod.com</Contact_Email>
		</Contact_Info>
		<Support_Info>
			<Sales_Email>inquiry@mindprod.com</Sales_Email>
			<Support_Email>inquiry@mindprod.com</Support_Email>
			<General_Email>inquiry@mindprod.com</General_Email>
			<Sales_Phone>(250) 361-9093</Sales_Phone>
			<Support_Phone>(250) 361-9093</Support_Phone>
			<General_Phone>(250) 361-9093</General_Phone>
			<Fax_Phone />
		</Support_Info>
	</Company_Info>
<site>
<Site_FORM>Y</Site_FORM>
<Site_VERSION>1.0</Site_VERSION>
<Site_URL>http://Submit-Everywhere.com/extensions/Site.htm</Site_URL>
<Site_DESCRIPTION>This PAD extension allows you to add your site info into your PAD file.
This info can be used by site submission software or by web directories themselves.</Site_DESCRIPTION>
<Site_Site_Title>Canadian Mind Products</Site_Site_Title>
<Site_Site_URL>http://mindprod.com/products.html</Site_Site_URL>
<Site_Description_100>CMP's purpose is to stand up for the rights of plants and animals.  Java, Computer Buyer glossaries.</Site_Description_100>
<Site_Description_250>CMP's purpose is to stand up for the rights of plants and animals. Animals also includes cetacea, humans, gay people, atheists, war victims and invertebrates. CMP attempts to inculcate planetary consciousness - concern for the planet as a whole.</Site_Description_250>
<Site_Description_450>CMP's purpose is to stand up for the rights of plants and animals. Animals also includes cetacea, humans, gay people, atheists, war victims and invertebrates. CMP attempts to inculcate planetary consciousness - concern for the planet as a whole. A subgoal is to teach people to use computers effectively, particularly with the Java computer language.</Site_Description_450>
<Site_Contact_Email>inquiry@mindprod.com</Site_Contact_Email>
<Site_Contact_First_Name>Roedy</Site_Contact_First_Name>
<Site_Contact_Last_Name>Green</Site_Contact_Last_Name>
<Site_Keywords>Roedy Green, Canadian Mind Products, Java Glossary, Computer Buyers' Glossary, Gay Glossary, Java, glossary, gay, roedy, CMP, Consolidated Moose Pasture, terminology</Site_Keywords>
</site>
<Program_Info>
		<Program_Name>Base64</Program_Name>
		<Program_Version>1.9</Program_Version>
		<Program_Release_Month>05</Program_Release_Month>
		<Program_Release_Day>20</Program_Release_Day>
		<Program_Release_Year>2007</Program_Release_Year>
		<Program_Cost_Dollars>0.00</Program_Cost_Dollars>
		<Program_Cost_Other_Code />
		<Program_Cost_Other />
		<Program_Type>Freeware</Program_Type>
		<Program_Release_Status>Minor Update</Program_Release_Status>
		<Program_Install_Support>No Install Support</Program_Install_Support>
<Program_OS_Support>Java,Linux,Mac OS X,Unix,Win2000,Win7 x32,Win7 x64,WinServer,WinVista,WinVista x64,WinXP</Program_OS_Support>
<Program_Language>English</Program_Language>
		<Program_Change_Info>add icon and pad file</Program_Change_Info>
		<Program_Specific_Category>Development Tools</Program_Specific_Category>
		<Program_Category_Class>Web Development::Java &amp; JavaScript</Program_Category_Class>
		<Program_System_Requirements>Java 1.2+</Program_System_Requirements>
		<File_Info>
			<File_Size_Bytes>101177</File_Size_Bytes>
			<File_Size_K>99</File_Size_K>
			<File_Size_MB>0.10</File_Size_MB>
		</File_Info>
		<Expire_Info>
			<Has_Expire_Info>N</Has_Expire_Info>
			<Expire_Count />
			<Expire_Based_On />
			<Expire_Other_Info />
			<Expire_Month />
			<Expire_Day />
			<Expire_Year />
		</Expire_Info>
	</Program_Info>
	<Program_Descriptions>
		<English>
			<Keywords>Base64,Base64u, encode, decode, armouring, printable, 6-bit, 8-bit, UUENCODE, UUDECODE</Keywords>
			<Char_Desc_45>Java to encode/decode Base64 and Baseu</Char_Desc_45>
			<Char_Desc_80>Java classes to encode/decode Base64 and Base64u</Char_Desc_80>
			<Char_Desc_250>Base64 is a freeware way of encoding 8-bit characters using only ASCII printable characters similar to UUENCODE. UUENCODE embeds a filename where BASE64 does not. You will see BASE64 used in encoding digital certificates, in encoding passwords.</Char_Desc_250>
			<Char_Desc_450>Base64 is a freeware way of encoding 8-bit characters using only ASCII printable characters similar to UUENCODE. UUENCODE embeds a filename where BASE64 does not. You will see BASE64 used in encoding digital certificates, in encoding user:password string in an Authorization: header for HTTP. The spec is described in RFC 2045. For more details see mindprod.com/jgloss/base64.html</Char_Desc_450>
			<Char_Desc_2000>Base64 is a freeware way of encoding 8-bit characters using
only ASCII printable characters similar to UUENCODE.
UUENCODE embeds a filename where BASE64 does not. You will
see BASE64 used in encoding digital certificates, in
encoding user:password string in an Authorization: header
for HTTP. The spec is described in RFC 2045.

Don't confuse Base64 with x-www-form-urlencoded which
is handled by java.net.URLEncoder.encode/decode or
Base64u.

Base64 armouring uses only the characters A-Z a-z  0-9 +/=.
This makes it suitable for encoding binary data as SQL
strings, that will work no matter what the encoding.
Unfortunately + / and = all have special meaning in URLs.

Base64u gets around this problem. It is a variant on Base64
that uses - _ and * in preference to + / and =, so that it
can be used in URLEncoded contexts with or without
URLEncoding.

Use base64 like this:

// Base64 armouring
import com.mindprod.base64.Base64;
...
// sample byte array to encode
byte[] toSend = { (byte)0xfc, (byte)0x0f, (byte)0xc0};

// create encoder object
Base64 base64 = new Base64();
base64.setLineLength( 72 );  // default

// encoding a byte[]
String send = base64.encoder( toSend );

// decoding a byte[]
byte[] reconstituted = base64.decoder( sent );

use Base64u the same way:

// Base64u armouring
import com.mindprod.base64.Base64u;
...
// sample byte array to encode
byte[] toSend = { (byte)0xfc, (byte)0x0f, (byte)0xc0};

// create encoder object
Base64u base64u = new Base64u();
base64u.setLineLength( 72 );  // default

// encoding a byte[]
String send = base64u.encoder( toSend );

// decoding a byte[]
byte[] reconstituted = base64u.decoder( sent );

For an example that starts and ends with a String, see
Example.java

to run:
java.exe com.mindprod.base64.Example
</Char_Desc_2000>
		</English>
	</Program_Descriptions>
	<Web_Info>
		<Application_URLs>
			<Application_Info_URL>http://mindprod.com/products1.html#BASE64</Application_Info_URL>
			<Application_Order_URL>http://mindprod.com/products1.html#BASE64</Application_Order_URL>
			<Application_Screenshot_URL>http://mindprod.com/image/screenshot/base64.png</Application_Screenshot_URL>
			<Application_Icon_URL>http://mindprod.com/image/icon32/base64.png</Application_Icon_URL>
			<Application_XML_File_URL>http://mindprod.com/pad/base64.xml</Application_XML_File_URL>
		</Application_URLs>
		<Download_URLs>
			<Primary_Download_URL>http://mindprod.com/zips/base6419.zip</Primary_Download_URL>
			<Secondary_Download_URL />
			<Additional_Download_URL_1 />
			<Additional_Download_URL_2 />
		</Download_URLs>
	</Web_Info>
	<Permissions>
		<Distribution_Permissions>You may include Base64 any CD compilation.
You may not sell Base64. It is free.</Distribution_Permissions>
<EULA>This program is for non-military use only.
For details on what that licencing restriction means and why I restricted this software that way, see http://mindprod.com/contact/nonmil.html
If you incorporate any of my code in your programs, they too must be marked for non-military use only.
However it is not your responsibility to enforce that restriction.
</EULA>
</Permissions>
<NewsFeed>
<NewsFeed_Feed_URL>http://mindprod.com/rss/jgloss.xml</NewsFeed_Feed_URL>
<NewsFeed_Type>RSS 2.0</NewsFeed_Type>
<NewsFeed_Site_Name>Canadian Mind Products</NewsFeed_Site_Name>
<NewsFeed_Site_URL>http://mindprod.com</NewsFeed_Site_URL>
<NewsFeed_Author_First_Name>Roedy</NewsFeed_Author_First_Name>
<NewsFeed_Author_Last_Name>Green</NewsFeed_Author_Last_Name>
<NewsFeed_Author_Email>inquiry@mindprod.com</NewsFeed_Author_Email>
<NewsFeed_Language>English</NewsFeed_Language>
<NewsFeed_Title>Canadian Mind Products | Java Glossary</NewsFeed_Title>
<NewsFeed_Description_70>Glossary of Java terms, sample Java code, Java and Internet lore.</NewsFeed_Description_70>
<NewsFeed_Description_250>Glossary of Java terms, sample Java code, and general Java and Internet lore.
For non-military use only.
News about updates of free software with full source written in Java, C, C++ and ASM.
Also coding example programs and coding snippets.</NewsFeed_Description_250>
<NewsFeed_Purpose>News</NewsFeed_Purpose>
</NewsFeed>
<PADmap>
<PADmap_FORM>Y</PADmap_FORM>
<PADmap_DESCRIPTION>
Link to plain text file containing ALL the mindprod.com PAD URLs
</PADmap_DESCRIPTION>
<PADmap_VERSION>1.0</PADmap_VERSION>
<PADmap_URL>http://www.padmaps.org/padmap.htm</PADmap_URL>
<PADmap_SCOPE>Company</PADmap_SCOPE>
<PADmap_Location>http://mindprod.com/pad/allpads.txt</PADmap_Location>
</PADmap>
<PADRING>
http://mindprod.com/pad/accumulate.xml
http://mindprod.com/pad/align.xml
http://mindprod.com/pad/americantax.xml
http://mindprod.com/pad/amper.xml
http://mindprod.com/pad/available.xml
http://mindprod.com/pad/backuptozip.xml
http://mindprod.com/pad/base64.xml
http://mindprod.com/pad/batik.xml
http://mindprod.com/pad/bio.xml
http://mindprod.com/pad/blout.xml
http://mindprod.com/pad/bootsave.xml
http://mindprod.com/pad/borders.xml
http://mindprod.com/pad/boyer.xml
http://mindprod.com/pad/bracebalancer.xml
http://mindprod.com/pad/brokenlinks.xml
http://mindprod.com/pad/bulk.xml
http://mindprod.com/pad/canadiantax.xml
http://mindprod.com/pad/cmossave.xml
http://mindprod.com/pad/coal.xml
http://mindprod.com/pad/colorsaver.xml
http://mindprod.com/pad/commandline.xml
http://mindprod.com/pad/common11.xml
http://mindprod.com/pad/common13.xml
http://mindprod.com/pad/common15.xml
http://mindprod.com/pad/compactor.xml
http://mindprod.com/pad/comparatorcutter.xml
http://mindprod.com/pad/comparators.xml
http://mindprod.com/pad/confirm.xml
http://mindprod.com/pad/connectors.xml
http://mindprod.com/pad/converter.xml
http://mindprod.com/pad/creditcard.xml
http://mindprod.com/pad/cropper.xml
http://mindprod.com/pad/csv.xml
http://mindprod.com/pad/currcon.xml
http://mindprod.com/pad/dedup.xml
http://mindprod.com/pad/echoserver.xml
http://mindprod.com/pad/encodingrecogniser.xml
http://mindprod.com/pad/encodings.xml
http://mindprod.com/pad/entities.xml
http://mindprod.com/pad/esper.xml
http://mindprod.com/pad/extract.xml
http://mindprod.com/pad/fastcat.xml
http://mindprod.com/pad/fileio.xml
http://mindprod.com/pad/filetimes.xml
http://mindprod.com/pad/filetransfer.xml
http://mindprod.com/pad/filter.xml
http://mindprod.com/pad/fontsaver.xml
http://mindprod.com/pad/fontshower.xml
http://mindprod.com/pad/fontshowerawt.xml
http://mindprod.com/pad/fourtidy.xml
http://mindprod.com/pad/goldencoin.xml
http://mindprod.com/pad/heapsort.xml
http://mindprod.com/pad/holidays.xml
http://mindprod.com/pad/honk.xml
http://mindprod.com/pad/htmlmacros.xml
http://mindprod.com/pad/http.xml
http://mindprod.com/pad/hunkio.xml
http://mindprod.com/pad/ini.xml
http://mindprod.com/pad/insult.xml
http://mindprod.com/pad/inwords.xml
http://mindprod.com/pad/isbn.xml
http://mindprod.com/pad/jarcheck.xml
http://mindprod.com/pad/jarlook.xml
http://mindprod.com/pad/jdisplay.xml
http://mindprod.com/pad/keyplayer.xml
http://mindprod.com/pad/ledatastream.xml
http://mindprod.com/pad/linkedlist.xml
http://mindprod.com/pad/masker.xml
http://mindprod.com/pad/masmbalancer.xml
http://mindprod.com/pad/masmtidy.xml
http://mindprod.com/pad/mimecheck.xml
http://mindprod.com/pad/mouse.xml
http://mindprod.com/pad/networkcam.xml
http://mindprod.com/pad/officialencoding.xml
http://mindprod.com/pad/palette.xml
http://mindprod.com/pad/password.xml
http://mindprod.com/pad/pentium.xml
http://mindprod.com/pad/pgpkeywords.xml
http://mindprod.com/pad/pluck.xml
http://mindprod.com/pad/powcost.xml
http://mindprod.com/pad/primes.xml
http://mindprod.com/pad/pws.xml
http://mindprod.com/pad/qev.xml
http://mindprod.com/pad/quicksort.xml
http://mindprod.com/pad/quoter.xml
http://mindprod.com/pad/radixsort.xml
http://mindprod.com/pad/replicator.xml
http://mindprod.com/pad/restore.xml
http://mindprod.com/pad/rgrow.xml
http://mindprod.com/pad/rightsize.xml
http://mindprod.com/pad/say!.xml
http://mindprod.com/pad/screws.xml
http://mindprod.com/pad/setclock.xml
http://mindprod.com/pad/shellsort.xml
http://mindprod.com/pad/sitemap.xml
http://mindprod.com/pad/sorted.xml
http://mindprod.com/pad/sortsrs.xml
http://mindprod.com/pad/sound.xml
http://mindprod.com/pad/spinner.xml
http://mindprod.com/pad/splice.xml
http://mindprod.com/pad/splitter.xml
http://mindprod.com/pad/submitter.xml
http://mindprod.com/pad/surrogatepair.xml
http://mindprod.com/pad/tabin.xml
http://mindprod.com/pad/tabout.xml
http://mindprod.com/pad/transporter.xml
http://mindprod.com/pad/tz.xml
http://mindprod.com/pad/unicode.xml
http://mindprod.com/pad/untouch.xml
http://mindprod.com/pad/vercheck.xml
http://mindprod.com/pad/volser.xml
http://mindprod.com/pad/wassup.xml
http://mindprod.com/pad/wavelength.xml
http://mindprod.com/pad/which.xml
http://mindprod.com/pad/yyyymmdd.xml
</PADRING>
<PADTUBE>
<PADTUBE_FORM>Y</PADTUBE_FORM>
<PADTUBE_DESCRIPTION>Allows publishers to link PAD files to their PADTube publisher accounts.</PADTUBE_DESCRIPTION>
<PADTUBE_VERSION>1.0</PADTUBE_VERSION>
<PADTUBE_URL>http://www.padtube.com/pad/extensions/PADTube.htm</PADTUBE_URL>
<PADTUBE_SCOPE>Company</PADTUBE_SCOPE>
<PADTUBE_Member>Y</PADTUBE_Member>
<PADTUBE_Member_REGEX>^[yYnN]\Z</PADTUBE_Member_REGEX>
<PADTUBE_Member_REGEX_DOCUMENTATION>Y, y, N, or n</PADTUBE_Member_REGEX_DOCUMENTATION>
<PADTUBE_Username>mindprod</PADTUBE_Username>
<PADTUBE_Username_REGEX>^[a-zA-Z0-9_.]{6,32}\Z</PADTUBE_Username_REGEX>
<PADTUBE_Username_REGEX_DOCUMENTATION>Alphanumeric with underscore allowed 6-32 characters</PADTUBE_Username_REGEX_DOCUMENTATION>
<PADTUBE_WEBSITE>http://www.padtube.com</PADTUBE_WEBSITE>
</PADTUBE>
</XML_DIZ_INFO>

