Base64 Java codifica e decodifica uma string [duplicada]

Esta questão já tem uma resposta aqui:

Codificação Base64 em Java 16 respostas

Eu quero codificar uma string em base64 e transferi-lo através de um soquete e decodificá-lo de volta. Mas depois da decodificação, dá uma resposta diferente. A seguir está meu código e o resultado é "77 + 9x6s ="

import javax.xml.bind.DatatypeConverter;

    public class f{

       public static void main(String a[]){

          String str = new String(DatatypeConverter.parseBase64Binary("user:123"));
          String res = DatatypeConverter.printBase64Binary(str.getBytes());
          System.out.println(res);
       }
    }

Alguma idéia sobre como implementar isso?

Obrigado...