gpt4 book ai didi

string - Base64 字符串中的文件比原始文件占用更多空间

转载 作者:行者123 更新时间:2023-12-04 13:48:30 25 4
gpt4 key购买 nike

我遇到了这种...问题...我通过在 base64 字符串中对文件(图像、视频和音频)进行编码并将它们添加到字符串来将资源添加到我的程序中。我所做的是读取文件,然后将字节转换为 Base64 字符串并将其写入 txt 文件,但 txt 文件占用的空间比原始文件略多。当我将字符串添加到我的程序代码时也会发生这种情况。编译后的可执行文件占用大量空间。例如:

一个MP3文件占用2.3MBtxt文件中Base64字符串占用3.19MB

有什么办法可以优化base64字符串的空间吗?

PD这只是我为了好玩而尝试做的事情。不要在“为什么”或“为什么”我想要这个的原因下面发表评论。答案是:只是为了好玩。

最佳答案

这是 Base64 固有的。

Base64 使用 4 个八位位组来编码 3 个八位位组,因为它是一种相当有效的编码任意二进制数据的方法,它只使用那些在 ASCII 中表示可打印的字节,并且还避免了许多在许多上下文中特殊的字符。它比十六进制字符串(每个八位字节编码 2 个八位字节)更紧凑,但总是比原始二进制大。它的值(value)仅在原始二进制文件不起作用的情况下才有值(value),因此额外的大小是值得的。

(严格来说,它是 4 个字符来编码 3 个八位字节,因此如果随后以 UTF-16 或 UTF-32 编码,则每 3 个编码可能是 8 或 16 个八位字节)。

关于string - Base64 字符串中的文件比原始文件占用更多空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31016178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com