https://web.archive.org/web/20110422225659/https://en.wikipedia.org/wiki/Base64#URL_applications
talks about base64Url - Decode
a modified Base64 for URL variant exists, where no padding '=' will be used, and the '+' and '/' characters of standard Base64 are respectively replaced by '-' and '_'
I created the following function:
public static String base64UrlDecode(String input) {
String result = null;
BASE64Decoder decoder = new BASE64Decoder();
try {
result = decoder.decodeBuffer(input.replace('-','+').replace('/','_')).toString();
}
catch (IOException e) {
System.out.println(e.getMessage());
}
return result;
}
it returns a very small set of characters that don't even resemble to the expected results. any ideas?
sun.misc.BASE64Decoder
because it is internal Sun/Oracle code (not part of J2SE) and may disappear at any time. The class Base64 in Apache Commons should provide you with all the functionality you need. – SalsalaBASE64Decoder
was a Sun class, internal or otherwise. I wonder why they broke with their own naming convention. +1 – Arrisreplace('_','/')
– Maximomaximum