Java 通过第三方工具解码XML中存储的二进制数据

Java 通过第三方工具解码XML中存储的二进制数据,java,xml,decode,decoding,Java,Xml,Decode,Decoding,我试图解析由第三方工具[HTC Sync Manager][hsm]生成的XML文件,因为该工具不再工作 XML解析非常简单,但我一直在尝试解码序列化到这些XML文件中的二进制图像数据。例如,我有一个886字符的字符串,我知道它代表一个图像。完整字符串是 /9j/4AAQSKZJRGABAQAQAAAQABAD/2WBDAAIBAQEBAQBAQEBAQICAGQADAGGAGUEBAMEBGGYFBGYGBWKIBGJBWYGCASICQOKCGOGBGGLDASKKCGR/2WBDAQICA

我试图解析由第三方工具[HTC Sync Manager][hsm]生成的XML文件,因为该工具不再工作

XML解析非常简单,但我一直在尝试解码序列化到这些XML文件中的二进制图像数据。例如,我有一个886字符的字符串,我知道它代表一个图像。完整字符串是

/9j/4AAQSKZJRGABAQAQAAAQABAD/2WBDAAIBAQEBAQBAQEBAQICAGQADAGGAGUEBAMEBGGYFBGYGBWKIBGJBWYGCASICQOKCGOGBGGLDASKKCGR/2WBDAQICAGICAGICAGUKKGUKBWYCGOKCGOKCGOKCGOKCGOKCGOKCGOKCGOKCGOKGYOGOKCGOKCGOKCGOKCGOKCGOKCGOKCGOKG/w AARCAA8AFADASIAAhEBAxEB/8Qahwaaaqubaqbaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaecqfbgcicqol/8Qatraaagedawieawbaqaaf9aqrBrighme1HBYJxFdKbkaeII0KxWRVS0FAKm2 JyGKfHcyGroljiCokso0Nty3ODK6RfRkVvvvv1HzWnKzWnKzZZZZZZNgLqL3r1d4D4eQd4IjIjJwKwKwKwKwKwKwKwKwKwKwKw p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8Qahweakebakebakebakebakebakebakebakebakebakebqcicqol/8QatreaageCBAQDBACFBAQbaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqa MZ2HPANN0DXZ3EHL6GOOEHYAHIKPPOULZAJMAOQOKPAANQKMQSRO0TBUL6WSPEXCBHYMNK0TPU1DBX2NNA4在Q8VP09FB3+Pn6/9OADAMBAIRAXEAPWD9RP2SFH1Y/FX9MBXR8NRWF8TW7DKFYRW9GS++Bvxf+A9hoen+CTMQ678OR18QNKFARQ2A66TLKY/wA9a+IP2VFX8CFS9EOPFR10W5D上的EBN6EBN6N6EBN6N6N6N6EBN6N6N6N6N6N6N6N6K8K8K8K8K8K8K zj8Lc4r8+PiVq+tf8ABKGb4Z/tG+GdBtrnRvHXgO20PxLpF3eYtrXXfs1tc/av/JWTOBHJ5S/wCCj3xUHg8azY+CrDUtG1m1vPs15d3d59o/t215/WBKRJVH5Z6F498FWPGXRPFMPAKLNGTWK+Hrv7P9q+Y2V8AY7AY7VW/wC2R8ede/ar1bxh/WAJRM6DQNRZ3WO6JS////AAKRI8DFEJ4K+JPPF9B/J4K +2)X X X X X X X X X X X X X BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBY7RMJ/ZDNXGGXHX37Y1NP998LNI0KZ8J3ONW9重写3.这个词的意思是:vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvV2RTRQ3/AD82teUeEtHOkeKbi+ay/cWt3/PZRJVVG+JXxI+JR这两个词的意思是:tjXLz+ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZTWWTTTTTT2TTTWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW2T2TTWWWWWW2TTTTWWW1+T2TTTTTTTWWWW2+XW2/WWW2/WWW2/WW2TTTTTT2TTTTTTTTTTTTTTT2TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTwwww1+WW2+TTTTTTTTTTTT4LNGPATT9OF59P/0vV/s2a8f1b4bX3gL4qwWHhix+021zZ8m7vP+ParHiL4keE7LXofC8月8日,1/1/1/1/1/9虚拟虚拟虚拟虚拟虚拟虚拟现实(8月8日)8月8日BW/8 8一个8月8日8月8日8月8日8 8月8 8 8 8 8 8 8 8 8 8 8 8级X X X X X(8月8日X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X/09V9P/AGL9l/4U/wDBOPxxqHw88dab/wAJhc2f2b/RO3+lf6Va17WWZa8Vi4.中国大陆的一个非官方的研究机构。6.中国大陆的一个非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非官方的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府的非政府7I+vHwrc/Ej4hDUtF0+1vPs2jj/l5+1V+lHx5+KngXwz4Vuf2b/h5ff2KReWn2y7tLP7Nb目前,ZZF7UFM/iD4w3+jj+3GV/E5/sO8+3+3+3+GGGvvvvvvvvvvvvvvvvvvvvvv6/E5/E5/E5/E5/sO8+ZXXXvvvvvvvvvvvvvvvvvvvvvvvvvvvvv6/vvv6/vvvvvvv6/vvvvvvvv6/vvvv6/vvvvv6/v6/v6/vv6/vvv6/3/3/3/8/8/8/vvv8/8+Zvvvv8+Zvv8+Zvvvv8+Zvvv6/8/8+ZXXXXXXXXX8/8+ZvvvvvvvvvvvvvvvvZCEONB0PURA20Y8/0v+1rP/Sbau/8Qax4s8BfB+DxX8L9dttZnttY63f+k/6LXflmd/VVhsu8月9日,北京市某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某Q/q13a3N1bdf+XAVHT4WFTWFH74REIFGVJPWV8RL2XUVLTBCAHIZINX7UTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6/XXXX6/XXXXXXXXX6/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCR+IPF2nfD/xDZQX2l6VZ/wCh21ym4JXTXPhjwn4D/Z4tvF3hjwtY2+oXtxvnuBDyx8/zPX+9XPhv98Z5WdUqHYz/AA18H/2hdY0mw08Xupalo1zef8en2T/j6r6A/aF/4Ju6/WCAV2DOPTF67OLXQF1/wAhjSvtf2a5tev/AD917J/wRX0rRv2pLO+u/I5O1CTYY+z/Y08kLz/smvpOTSPCXx38f3/WCZF58ZFAMJEJNC8OSBNIM1ZD3CA9PSG1ZYDDKT3UP62BYUCHAJWAP/2Q==

Base64解码它会导致垃圾,所以这不是答案


如何解码此类数据?

碰巧,问题出在其他地方。我正在使用SAX ContentHandler解析XML文件,例如

我的问题是characters方法被多次调用,原始图像数据将被覆盖,只有最后一部分会被删除 pt


原始数据确实是Base64编码的。

您可以发布整个字符串吗?您还可以告诉我们您对图像的了解吗?特别是高度、宽度和类型照片、图标等。非常引人注目的是,它正是base64的正确字符集。但是我认为我们需要字符串的其余部分来提供进一步的建议。@RobbyCornelissen-我已经添加了完整的图像stringBase64解码,它不会导致垃圾。这是一张80x60 JPG的照片,一名妇女抱着一个孩子。如果您向我们展示用于获取值并对其进行解码的代码,也许我们可以告诉您如何修复代码。
reader.setContentHandler(new DefaultHandler2() {

            private String currentLocalName;

            @Override
            public void startElement(String uri, String localName, String qName, Attributes attributes)
                    throws SAXException {

                currentLocalName = localName;
            }

            @Override
            public void characters(char[] ch, int start, int length) throws SAXException {
                  // read data here
         }