在那里,我有一个解码所有附件在我的邮箱代码:PDF附件文件的解码后损坏
for (String key : attachments.keySet()) { String fileContent = attachments.get(key); attachments.put(key, getEncodedPartFromAttachment(fileContent)); }
private String decodeFileContent(String encodedData) { return new String(Base64.getDecoder().decode(encodedData)); }
编码和解码后回来,我面临着一些问题,如:
原文PDF:%Ó012
转换后的PDF:%
原始PDF:H‰d; 1D2' °L'Χ¥¡¢@²Ü¿À†XO & O> IG〜€EPO·
转化PDF:HD; 1D 2' l'Χ @ ܿ X &қ G〜 p
有没有办法在编解码时破坏内容?
PDF文件是二进制文件。您可以将二进制数据强制为一个字符串:'new String(...)'。这会损害二进制PDF数据,取决于使用的编码甚至无法修复。改为将二进制附件作为二进制文件处理,例如作为'byte []'或者'ByteBuffer'。 – mkl