如何在 XML 中嵌入二进制数据?
2022-08-31 09:19:24
我有两个用Java编写的应用程序,它们通过网络使用XML消息相互通信。我在接收端使用SAX解析器将数据从消息中取回。其中一个要求是在 XML 消息中嵌入二进制数据,但 SAX 不喜欢这样。有人知道如何做到这一点吗?
更新:我从apache commons编解码器库中获得了Base64类,以防其他人尝试类似的东西。
我有两个用Java编写的应用程序,它们通过网络使用XML消息相互通信。我在接收端使用SAX解析器将数据从消息中取回。其中一个要求是在 XML 消息中嵌入二进制数据,但 SAX 不喜欢这样。有人知道如何做到这一点吗?
更新:我从apache commons编解码器库中获得了Base64类,以防其他人尝试类似的东西。
XML 是如此通用...
<DATA>
<BINARY>
<BIT index="0">0</BIT>
<BIT index="1">0</BIT>
<BIT index="2">1</BIT>
...
<BIT index="n">1</BIT>
</BINARY>
</DATA>
XML就像暴力一样 - 如果它不能解决你的问题,你就没有使用足够的它。
编辑:
顺便说一句:Base64 + CDATA可能是最好的解决方案
(编辑2:
无论谁修改我,也请修改真正的答案。我们不希望任何可怜的灵魂来到这里并实际实施我的方法,因为它是SO上排名最高的,对吧?