"data:image/png;base64,iVBORw0K"
のようなBase64エンコード文字列があります。私はそれをバイナリにデコードし、後でjava.util.Base64
を使ってBase64に再度エンコードしようとしています。不思議なことに、デコードして再びエンコードした後、デリミタを失い、"dataimage/pngbase64iVBORw0I="
に戻ってしまいます。Java Base64のMIMEデコード/エンコーディングでデリミタがスローされる
は、これは私が、デコードおよびエンコード行う方法です(Scalaで書かれたのが、あなたのアイデアを得る):https://scalafiddle.io/sf/TJY7eeg/0
はこれもjavax.xml.bind.DatatypeConverter
で発生します:ここで
import java.util.Base64
val b64mime = "data:image/png;base64,iVBORw0K"
val decoder = Base64.getMimeDecoder
val encoder = Base64.getMimeEncoder
println(encoder.encodeToString(decoder.decode(b64mime)))
は一例です。私は間違って何をしていますか?これは期待される行動ですか?
は、私は、デコーダは、原料のいずれかまでとカンマを含め、「期待する」とは思いません。メソッドのjavadocを注意深く読んでください。その文字列はどんなスペックですか? –