当前位置: 首页 > 面试题库 >

C#或Java中的Base64解码

羊舌兴文
2023-03-14
问题内容

我有一个带有以下标头的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.");
        }
    }

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

希望这可以帮助。



 类似资料:
  • 老师们好, 下面这段代码,解码这样一段base64编码的字符串(KioqKipAI++/pSXigKbigKYmKiPvv6Ul4oCm4oCmJio=), 后面多了个“)” 解码正确的内容是:*****@#¥%……&*#¥%……&* 解码错误的内容是:*****@#¥%……&*#¥%……&) 找不到原因了, 请老师们帮忙看看。

  • 我对Java编程很陌生,并尝试制作基于Base64和UTF-8的解码器。 我目前正在尝试让解码器从控制台获取输入,然后执行解码并在控制台中显示结果。我对如何通过“public static byte[]decode(String src)”将输入解码,然后在控制台中打印出来感到有点迷茫。 到目前为止,我得到的代码如下:

  • 本文向大家介绍c#和java base64不一致的解决方法,包括了c#和java base64不一致的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文主要介绍了关于c#和java base64不一致的解决方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 不一致的问题不是编码的问题  而是json字符串的问题通常我们会json 嵌套  我们先来看连个字符串 -----接下来

  • new String(..)转字符串的时候是怎么知道 -28, -72, -83 为一组的呢? 是字符编码有什么规则吗?( 0x**---- ,(byte) ** 是负数的就是3个字节一组这样?)

  • 问题内容: 我已经使用iOS7中添加的Class new API 编码了text()。 使用这个 这是我的代码 我正在寻找解码 问题答案: 编码方式 解码 迅捷<3 编码方式 解码 目标C 编码方式 解码

  • 问题内容: 我有一个Base64编码的图像。用Java解码的最佳方法是什么?希望仅使用Sun Java 6附带的库 问题答案: 从v6开始,Java SE随JAXB一起提供。有静态方法可以简化这一过程。请参阅和。