Electronic Joint Business

Solution for E-Business

利用Base64在XML中存储BLOB

文章评价: 在一些 XML 的应用中,例如 SOAP,除了复杂的数据类型外,还可能包括图像、声音等多媒体数据。通常的处理办法是通过序列化的Java对象为载体进行传输,或者将图像、声音等数据包含在外部实体中,如果能将这些大型二进制对象存储在XML文件中,则处理起来会有很大的便利性。 这里我们将以图像为例子讨论在 XML 中存储传输 BLOB 数据的方法。 Base64算法详解 Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。如例1所示: 字符串“张3” 11010101   11000101    00110011 转换成Base64 00110101   00011100     00010100     00110011 即把8位的字节连成一串110101011100010100110011 然后每次顺序选6个出来之后再把这6二进制数前面再添加两个0,就成了一个新的字节。之后再选出6个来,再添加0,依此类推,直到24个二进制数全部被选完。 让我们来看看实际结果: 11010101 HEX:D5 11000101 HEX:C5 00110011 HEX:33 00110101 00011100 00010100 00110011 字符’5′ 字符’^\’ 字符’^T’ 字符’3′ 十进制53 十进制34 十进制20 十进制51 但是 Base64 编码方式并不是单纯利用转化完的内容进行编码。像’^\’字符是控制字符,并不能通过计算机显示出来,在某些场合就不能使用了。Base64 有其自身的编码表: 00-25   […]

, , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.