C#或Java中的Base64解码

我有一个带有以下标头的Base64编码的对象:

application/x-xfdl;content-encoding="asc-gzip"

解码对象的最佳方法是什么?我需要去除第一行吗?另外,如果将其转换为字节数组(byte []),如何解压缩它?

谢谢!


我想我起初很miss。通过说标题是

application/x-xfdl;content-encoding="asc-gzip"

我的意思是这是文件的第一行。因此,为了使用Java或C#库解码文件,是否需要删除这一行?

如果是这样,剥离第一行的最简单方法是什么?

回答:

我能够使用以下代码将.xfdl文档转换为Java DOM文档。

我使用iHarder的

Base64实用程序进行Base64解码。

private static final String FILE_HEADER_BLOCK = 

"application/vnd.xfdl;content-encoding=\"base64-gzip\"";

public static Document OpenXFDL(String inputFile)

throws IOException,

ParserConfigurationException,

SAXException

{

try{

//create file object

File f = new File(inputFile);

if(!f.exists()) {

throw new IOException("Specified File could not be found!");

}

//open file stream from file

FileInputStream fis = new FileInputStream(inputFile);

//Skip past the MIME header

fis.skip(FILE_HEADER_BLOCK.length());

//Decompress from base 64

Base64.InputStream bis = new Base64.InputStream(fis,

Base64.DECODE);

//UnZIP the resulting stream

GZIPInputStream gis = new GZIPInputStream(bis);

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

DocumentBuilder db = dbf.newDocumentBuilder();

Document doc = db.parse(gis);

gis.close();

bis.close();

fis.close();

return doc;

}

catch (ParserConfigurationException pce) {

throw new ParserConfigurationException("Error parsing XFDL from file.");

}

catch (SAXException saxe) {

throw new SAXException("Error parsing XFDL into XML Document.");

}

}

仍在成功修改和重新编码文档方面进行工作。

希望这可以帮助。

以上是 C#或Java中的Base64解码 的全部内容, 来源链接: utcz.com/qa/400006.html

回到顶部