It converts any given file to Base64 representation.
- It is usually used to hard-code tiny images in webpages in order to avoid unnecessary network request overhead
- It is also used to transfer binary files where the transfer medium is designed to handle only textual data such as in email, XML
More about Base64 here
- In order to use this library in your Java application, include
Base64Encoder.jarin your classpath
Base64Encoder encoder = Base64Encoder.getInstance(new FileInputStream("/path/to/your/file"));
/* To get Base64 representation in String */
String base64 = encoder.getBase64Value();
/* To write to a file */
encoder.writeToFile(new FileOutputStream("path/to/destination/file"));
- To use the GUI version, run the libaray file
java -jar Base64Encoder.jar
Take a look at the picture below
its Base64 representation looks like
iVBORw0KGgoAAAANSUhEUgAAADQAAAATCAYAAADf0S5lAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGNzdGMTE3NDA3MjA2ODExOEE2RDgxMjAxOTRDMzM5QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NEI4MjNGMzlDNjUxMUUxOEE4QUU2N0EyRTNBNzQ0NCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NEI4MjNGMjlDNjUxMUUxOEE4QUU2N0EyRTNBNzQ0NCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDQ4MDExNzQwNzIwNjgxMTg3MUZFRjgwQUVFRTk4NzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Rjc3RjExNzQwNzIwNjgxMThBNkQ4MTIwMTk0QzMzOUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6izYU8AAADCklEQVR42tyW20tUQRzH55zaWDNb89JWGmlpWoK2kF0oyIeolwiC6KGi8t/rOfChCxRBPUikWXZnzWzznlumGbp9Jz6HhuGsFwjNfvBhz545M/P7zXx/v5mgUCiYIAiMY5vEbpHm+bsYEzkxY1bXSsVhsVcUxF0xuFiHjd7/feKYeCuGxDexWTSIU2JAPFrFwKbFfZ5rlwrGD+iAOCJui0/O+3EGahFVYtb8wxYFVC6OihdeMK69p70Q0xbyu7DIXCUiIfJ/0f8NpMWMH5DdnQBJFbM4me0RzeKn2CGmRLcYdr7ZiYy/ijIC6xHPnW9S+JAU9c77D+JezLxpxpxnTOvbAzFhbFGQXRSdTLZcy4jzrJJhQU6LG6LGmfi6qPTytBNFGBy6SuBRcJfFCaePzd8rTvs1sd1pP0OfZCSVLY5Ty7Gtok28ZpUMUuxmjOP8tlMhx52+79jBgwSaYYVztE8h7f2e05Ed4psRRwG2GmZdyc2yO+WU6aWsBof9fPrCZCkmqnYmdm2I3asTFcwdOjk47pRt36pYRBtwoxgVXVGxigIaIR/qYopCEyud4H8POWMo6XGlNkU+mCIyzjtJbR3aJlrFU0cBC14uGqfwRDtimYurcv0EZCN++Tu5/tgraEZKWcfJdMyE8wQ8yKqV4cC055TB4RzjZThr5kiBW0XUMswi1+NXbLnNoduQBEsvIrcCkvlMZdvljWdl20tQvbxvi5HNMFXVBnBH3BRvkHOfl3dufvcxdntcjgXe1acVEjj9kRVPMlE5K5en/p8kV/rZgQYCfeLkVwvXlyxtUQV86MsFqV5gZ+wBP8k852jrYRHsuw78GqCo2CCeBTF3uZAVrIBJJDKB3k2ME5UEPuZJK7IE36RQQ967OzbRPkNeNRJsF30rHKlm2aGQNLH9f5D7c9E5tFZmi8olzpzQeV/NudKx0gHDNb56ZSgYvd61aZTzKrneAko4O+Lf++q5+qzI4nJotSV3lmIzyaFcSg7b4+PxegsoKse1BFdChRsqUlyWF9D/ZL8EGABJwM2jHYLQ9gAAAABJRU5ErkJggg==
verify this by typing the following code in the address bar
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAATCAYAAADf0S5lAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGNzdGMTE3NDA3MjA2ODExOEE2RDgxMjAxOTRDMzM5QiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3NEI4MjNGMzlDNjUxMUUxOEE4QUU2N0EyRTNBNzQ0NCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NEI4MjNGMjlDNjUxMUUxOEE4QUU2N0EyRTNBNzQ0NCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDQ4MDExNzQwNzIwNjgxMTg3MUZFRjgwQUVFRTk4NzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Rjc3RjExNzQwNzIwNjgxMThBNkQ4MTIwMTk0QzMzOUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6izYU8AAADCklEQVR42tyW20tUQRzH55zaWDNb89JWGmlpWoK2kF0oyIeolwiC6KGi8t/rOfChCxRBPUikWXZnzWzznlumGbp9Jz6HhuGsFwjNfvBhz545M/P7zXx/v5mgUCiYIAiMY5vEbpHm+bsYEzkxY1bXSsVhsVcUxF0xuFiHjd7/feKYeCuGxDexWTSIU2JAPFrFwKbFfZ5rlwrGD+iAOCJui0/O+3EGahFVYtb8wxYFVC6OihdeMK69p70Q0xbyu7DIXCUiIfJ/0f8NpMWMH5DdnQBJFbM4me0RzeKn2CGmRLcYdr7ZiYy/ijIC6xHPnW9S+JAU9c77D+JezLxpxpxnTOvbAzFhbFGQXRSdTLZcy4jzrJJhQU6LG6LGmfi6qPTytBNFGBy6SuBRcJfFCaePzd8rTvs1sd1pP0OfZCSVLY5Ty7Gtok28ZpUMUuxmjOP8tlMhx52+79jBgwSaYYVztE8h7f2e05Ed4psRRwG2GmZdyc2yO+WU6aWsBof9fPrCZCkmqnYmdm2I3asTFcwdOjk47pRt36pYRBtwoxgVXVGxigIaIR/qYopCEyud4H8POWMo6XGlNkU+mCIyzjtJbR3aJlrFU0cBC14uGqfwRDtimYurcv0EZCN++Tu5/tgraEZKWcfJdMyE8wQ8yKqV4cC055TB4RzjZThr5kiBW0XUMswi1+NXbLnNoduQBEsvIrcCkvlMZdvljWdl20tQvbxvi5HNMFXVBnBH3BRvkHOfl3dufvcxdntcjgXe1acVEjj9kRVPMlE5K5en/p8kV/rZgQYCfeLkVwvXlyxtUQV86MsFqV5gZ+wBP8k852jrYRHsuw78GqCo2CCeBTF3uZAVrIBJJDKB3k2ME5UEPuZJK7IE36RQQ967OzbRPkNeNRJsF30rHKlm2aGQNLH9f5D7c9E5tFZmi8olzpzQeV/NudKx0gHDNb56ZSgYvd61aZTzKrneAko4O+Lf++q5+qzI4nJotSV3lmIzyaFcSg7b4+PxegsoKse1BFdChRsqUlyWF9D/ZL8EGABJwM2jHYLQ9gAAAABJRU5ErkJggg==

