一尘不染

Base64与HEX在XML doc中通过Internet发送二进制内容

java

在XML文档中的系统之间发送二进制内容的最佳方法是什么

我知道Base64和Hex,真正的区别是什么。我当前正在使用Base64,但为此需要包括一个外部公共库,就像使用HEX一样,我想我可以创建一个函数。


阅读 259

收藏
2020-12-03

共1个答案

一尘不染

您也可以为Base64编写自己的方法…但是我通常建议同时使用外部的,经过良好测试的库。(这并不意味着它们短缺。)

Base64和十六进制之间的区别实际上只是字节的表示方式。十六进制是“ Base16”的另一种说法。十六进制每个字节占用两个字符-
Base64每三个字节占用4个字符,因此它比十六进制效率更高。假设您使用UTF-8编码XML文档,则100K文件将需要200K进行十六进制编码,而在Base64中则需要133K。当然,很可能您根本不关心空间效率-
在许多情况下都没有关系。如果 确实 重要,那么显然在这方面Base64更好。(有些替代方法更有效,但并不常见。)

2020-12-03