【问题标题】:Which is faster, hex encoding or base64 encoding? [closed]哪个更快,十六进制编码或 base64 编码? [关闭]
【发布时间】:2014-11-15 06:59:43
【问题描述】:

我想发送或存储一个巨大的二进制文件,该文件必须编码为文本。

hex 编码和base64 编码之间哪种编码方法更快?

数据大约 40 MB 或更多,这就是性能很重要的原因。

【问题讨论】:

  • 听起来像是进行一些基准测试的机会...
  • 是什么让您认为应该对其进行编码?如果你不这样做,那将是最快的。
  • 我想对其进行编码,因为服务器拒绝发送二进制文件或程序。所以我必须转换它然后发送它。
  • 如果您有两匹马,并且您想知道哪两匹马更快,那么赛马 - 请参阅 Eric 的 Which is faster? Lippert 了解更多背景

标签: performance language-agnostic hex base64


【解决方案1】:

花在编码本身上的时间并不是真正的问题。 Base64 比较复杂,但编码仍然不会是很大的开销。真正的问题是通过网络传输数据所花费的时间,这取决于数据的编码大小。

  • 与二进制形式相比,Base64 将数据大小扩大了三分之一。因此,您的 40 MB 文件大约为 53 MB。

  • 十六进制编码使数据大小加倍,因此您的 40 MB 文件将变为 80 MB。

简而言之,Base64 胜出。

【讨论】:

  • 如果您必须存储为字符串en.wikipedia.org/wiki/Ascii85,就存储大小而言,Ascii85 是最有效的
  • 当使用加密技术并通过网络发送原始数据时,我需要能够读取二进制数据。简而言之,Hex 在这种情况下获胜。
猜你喜欢
  • 2013-06-10
  • 1970-01-01
  • 2019-03-20
  • 1970-01-01
  • 2019-11-22
  • 1970-01-01
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多