70

単純な Base64 文字列をデコードしようとしていますが、デコードできません。私は現在org.apache.commons.codec.binary.Base64パッケージを使用しています。

私が使用しているテスト文字列はabcdefg、 PHP を使用してエンコードされたものYWJjZGVmZw==です。

これは私が現在使用しているコードです:

Base64 decoder = new Base64();
byte[] decodedBytes = decoder.decode("YWJjZGVmZw==");
System.out.println(new String(decodedBytes) + "\n") ;   

上記のコードはエラーをスローしませんが、デコードされた文字列を期待どおりに出力しません。

4

4 に答える 4

72

使用しているパッケージを変更します。

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

そして、次のように使用します。

byte[] decoded = Base64.decodeBase64("YWJjZGVmZw==");
System.out.println(new String(decoded, "UTF-8") + "\n");
于 2012-07-18T15:16:30.600 に答える
3

通常、base64 は画像に使用されます。画像をデコードしたい場合 (この例では org.apache.commons.codec.binary.Base64 パッケージの jpg):

byte[] decoded = Base64.decodeBase64(imageJpgInBase64);
FileOutputStream fos = null;
fos = new FileOutputStream("C:\\output\\image.jpg");
fos.write(decoded);
fos.close();
于 2015-03-03T09:38:35.063 に答える