2013-07-28 5 views
0

내가 읽은 Base64 인코딩의 응용 프로그램은 이진 데이터 또는 일부 문자열을 Base64 형식으로 변환하는 것이 었습니다. 하지만 파일 (예 : PDF, Excel)은 Base64로 인코딩되었으므로 각 소프트웨어에서 열거 나 지원할 수 없습니다.PDF 및 Excel 파일은 어떻게 그리고 왜 Base 64로 인코딩됩니까?

내 질문은 :

  1. 우리가 Base64로하여 전체 파일을 인코딩 할 수 있습니다.
  2. 이 응용 프로그램 시나리오는 무엇입니까?
  3. 사용할 디코더의 내용을보고 알 수 있습니까?

(참고 : 나는 읽고 위키 Base64로) 자바 에서

+0

1) 대답하기 쉽습니다. 물론 base64로 전체 파일을 인코딩 할 수 있습니다. 2) -ish. 이것은 ASCII 모드로 FTP를 통해 텍스트가 아닌 파일을 전송할 때나 메일 당 바이너리를 전송할 때 (예 : 메일 만 지원되는 텍스트이며 FTP는 7로 기본 설정 됨) 7 비트 매체를 트래버스하기 위해 8 비트 바이너리가 필요할 때 필요합니다. 비트는 대역폭의 1/8을 절약 할 수 있습니다. 이것은 300 비트 모뎀의 시간에 매우 유용했습니다.) – Hennes

+0

PDF *는 Base64로 인코딩되지 않습니다 (인코딩이 끝나면 더 이상 유효하지 않습니다). * Base -64 인코딩을 사용하여 개체의 일부를 저장합니다. – usr2564301

답변

0

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