Encoding 编码后,数据大小增加

Encoding 编码后,数据大小增加,encoding,compression,Encoding,Compression,我有一个XML格式的文本数据,它的长度约为816814字节。它包含一些图像数据和一些文本数据。 我们使用ZLIB算法进行压缩,压缩后的数据长度为487239字节 压缩后,我们使用BASE64Encoder对数据进行编码。但在对压缩数据进行编码后,数据的大小不断增加,编码数据的长度为666748字节 为什么,编码后的数据量越来越大?还有其他最好的编码技术吗 问候,, 西德什这是完全正常的 如果您的传输介质不是设计用于传输二进制数据,而是仅传输文本数据(如XML),则需要执行Base64 因此,您的

我有一个XML格式的文本数据,它的长度约为816814字节。它包含一些图像数据和一些文本数据。 我们使用ZLIB算法进行压缩,压缩后的数据长度为487239字节

压缩后,我们使用BASE64Encoder对数据进行编码。但在对压缩数据进行编码后,数据的大小不断增加,编码数据的长度为666748字节

为什么,编码后的数据量越来越大?还有其他最好的编码技术吗

问候,,
西德什

这是完全正常的

如果您的传输介质不是设计用于传输二进制数据,而是仅传输文本数据(如XML),则需要执行Base64

因此,您的zip文件将进行base64编码

简单地说,它需要转码器将“非ASCII”字母更改为ASCII形式,但仍然记得返回的方式

根据经验,尺寸大约增加了33%()


这是base64的缺点。您最好使用支持文件传输的协议。。。但是对于用XML编码的文件,您几乎没有选择。

这是完全正常的

如果您的传输介质不是设计用于传输二进制数据,而是仅传输文本数据(如XML),则需要执行Base64

因此,您的zip文件将进行base64编码

简单地说,它需要转码器将“非ASCII”字母更改为ASCII形式,但仍然记得返回的方式

根据经验,尺寸大约增加了33%()


这是base64的缺点。您最好使用支持文件传输的协议。。。但是对于用XML编码的文件,您几乎没有选择。

如前所述,当您将包含256个可能值的二进制8位字节编码为一组较小的字符(在本例中为64个值)时,您必须增加大小。对于一组n个允许的字符,随机二进制输入的扩展因子至少为log(256)/log(n)

如果希望减少这种影响,请使用更多字符。无论您使用什么介质,它都可能透明地处理超过64个字符。只需发送所有256个可能的字节,就可以知道有多少字节,并查看哪些字节可以通过。彻底测试候选集,然后理想地找到备份该n<256集的介质的文档


一旦你有了这个集合,你就可以使用一个简单的硬连线算术代码从256的集合转换成n的集合,然后再转换回来。

如前所述,当你将带有256个可能值的二进制8位字节编码成一个更小的字符集合时,在这种情况下,64个值,你就必须增加大小。对于一组n个允许的字符,随机二进制输入的扩展因子至少为log(256)/log(n)

如果希望减少这种影响,请使用更多字符。无论您使用什么介质,它都可能透明地处理超过64个字符。只需发送所有256个可能的字节,就可以知道有多少字节,并查看哪些字节可以通过。彻底测试候选集,然后理想地找到备份该n<256集的介质的文档


一旦你有了这个集合,你就可以使用一个简单的硬连线算术代码从256的集合转换为n的集合,然后再转换回来。

它是33%,并且总是33%,大小的相对增加不随内容而变化。它是33%,并且总是33%,大小的相对增加不随内容而变化