我需要将PDF内容转换为Base64,并将其用作字符串。 当我使用以下程序测试out.pdf时,将为空白。
byte[] pdfRawData = FileUtils.readFileToByteArray(new File("C:\\in.pdf")) ;
String pdfStr = new String(pdfRawData);
//My data is available in the form of String
BASE64Encoder encoder = new BASE64Encoder();
String encodedPdf = encoder.encode(pdfStr.getBytes());
System.out.println(encodedPdf);
// Decode the encoded content to test
BASE64Decoder decoder = new BASE64Decoder();
FileUtils.writeByteArrayToFile(new File("C:\\out.pdf") , decoder.decodeBuffer(encodedPdf));
有人可以帮助我吗?
答案 0 :(得分:1)
你为什么这样做:
tests={'esp','isakm'}
with open(fn) as f:
for line in f:
data=line.split()
if data[0] in tests:
print(data[1:])
不是将pdfRawData传递给编码器?
这样做会导致很多编码问题,因为您没有指定用于构建字符串的字节数组的编码(它将使用平台默认值)。这显然是redondant(字节数组->字符串->字节数组)