小编典典

Base64 Java编码和解码字符串

all

我想将字符串编码base64并通过套接字传输并解码回来。

但解码后给出不同的答案。

以下是我的代码,结果是“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);
       }
    }

关于如何实现这一点的任何想法?


阅读 57

收藏
2022-08-07

共1个答案

小编典典

您可以使用以下方法:

import org.apache.commons.codec.binary.Base64;

// Encode data on your side using BASE64
byte[] bytesEncoded = Base64.encodeBase64(str.getBytes());
System.out.println("encoded value is " + new String(bytesEncoded));

// Decode data on other side, by processing encoded data
byte[] valueDecoded = Base64.decodeBase64(bytesEncoded);
System.out.println("Decoded value is " + new String(valueDecoded));

希望这能回答你的疑问。

2022-08-07