如何以及为什么PDF和Excel文件基于64编码?

时间:2013-07-28 16:58:29

标签: java base64 apache-commons-codec

我读过的Base64编码的应用是将二进制数据或某些字符串转换为Base64格式。 但我开始知道文件(例如:PDF,Excel)本身是Base64编码的,它们甚至无法被各自的软件打开/支持。

我的问题是:

  1. 我们可以将整个文件编码为Base64。
  2. 这是什么应用场景。
  3. 我们可以通过查看要使用的解码器的内容来了解​​。
  4. (仅供参考:我已阅读wiki Base64)

1 个答案:

答案 0 :(得分:0)

Java中的Base64解码 我认为编码也可以用这个包中的一些类来完成

包是

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

,逻辑是

 String filepath = "C:\\Users\\sandeep\\somefile";
    String encodedString = null;

    try {
        File file=new File(filepath);
        FileReader fr = new FileReader(file);
        BufferedReader reader = new BufferedReader(fr);

        while ((encodedString = reader.readLine()) != null) {

            byte[] binOfEncoded = Base64.decodeBase64(encodedString.getBytes());  
            System.out.println("Base64 Decoded  String     :       " + binOfEncoded);               
        }

    } catch (IOException x) {
        System.err.format("IOException: %s%n", x);
    }