1. ホーム
  2. java

[解決済み] Base64 Javaによる文字列のエンコードとデコード [重複]。

2022-04-20 23:02:09

質問

<余談
この質問には、すでにここで回答があります :
クローズド 6年前 .

に文字列をエンコードしたい。 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);
       }
    }

どのように実装すればいいのか、何かアイデアはありますか?

どのように解決するのですか?

という方法をとることができます。

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));

あなたの疑問が解けることを願っています。