Estoy intentando decodificar una cadena Base64 simple, pero no puedo hacerlo. Actualmente estoy usando el paquete org.apache.commons.codec.binary.Base64
.Decodificación de una cadena Base64 en Java
La cadena de prueba que estoy usando es: abcdefg
, codificado con PHP YWJjZGVmZw==
.
Este es el código que estoy usando actualmente:
Base64 decoder = new Base64();
byte[] decodedBytes = decoder.decode("YWJjZGVmZw==");
System.out.println(new String(decodedBytes) + "\n") ;
El código anterior no arroja un error, pero en cambio no emitirá la cadena decodificada como se esperaba.
así, en primer lugar, siempre se debe especificar un conjunto de caracteres cuando se convierte de bytes a caracteres, tal vez "US-ASCII" para usted ejemplo de cadena ('nueva cadena (decodedBytes" US-ASCII ") '). – jtahlborn
@jtahlborn el códec de apache commons está diseñado para "solo funcionar" en la codificación predeterminada del sistema si no especificas lo contrario – Affe
El código de @TomasB que publicaste funciona bien para mí, ¿es esa la muestra completa? – Affe