使用 HTTP 时,哪种编码更好,base64、yEnc 还是 uuencode?

Posted

技术标签:

【中文标题】使用 HTTP 时,哪种编码更好,base64、yEnc 还是 uuencode?【英文标题】:When using HTTP, which encoding is better, base64, yEnc, or uuencode? 【发布时间】:2013-07-09 12:05:57 【问题描述】:

我的要求是对数据进行编码并通过 HTTP 通过网络发送,但我一直在尝试选择最佳编码技术。以上三个哪个最好?有没有更好的?

“最佳”的标准应该是小尺寸和快速编码/解码。

【问题讨论】:

你的“最佳”标准是什么? 我已经更新了最佳标准 yEnc、Base64 和 Uuencode 不是压缩算法。它们用于通过 POP3 和 SMTP 等纯文本协议发送二进制数据。如果您没有遇到这种情况(仅限于文本),那么您可以简单地压缩您的数据。正在传输图像、PDF 文档……您使用的是什么协议? @Tarik 我正在通过http协议发送数据,以及我正在发送图像、pdf、音频、视频所有类型的文档 查看更新的答案... 【参考方案1】:

yEnc 的开销较小,但在http://en.wikipedia.org/wiki/YEnc#Criticisms 中提到了其他问题。 什么是“最佳”取决于您可能拥有的标准以及您计划如何通过网络发送数据。您是否使用网络服务、电子邮件或其他方式。您需要提供更多详细信息。

编辑: 由于您通过 HTTP 上传数据,因此您不需要使用任何 Base64、yEnc 或 Uuencode。您只需使用浏览器和 Web 服务器中内置的标准 http 文件上传功能。将此问题视为参考: How does HTTP file upload work? 还有这个参考: http://www.hanselman.com/blog/ABackToBasicsCaseStudyImplementingHTTPFileUploadWithASPNETMVCIncludingTestsAndMocks.aspx

【讨论】:

我正在从 ui 获取数据,我正在对其进行编码并将其存储在文档管理系统中,为了您的方便,我已经编辑了问题 我已阅读参考资料,但情况是我在后端 c++ 引擎中接收文档,文档管理系统可以在任何数据中心,所以我通过 poco http 库对其进行编码和发送,它似乎没有对我发送的文档进行编码,这就是我必须对文档进行编码的原因 如果您提到您使用的文档管理系统,我认为这会有所帮助。假设您有一个 HTTP 服务器,您在后端使用 C++ 的事实不应该影响在不编码的情况下上传的能力。 我正在将文件上传到 alfresco 我在这里找到了一些代码:forums.alfresco.com/forum/developer-discussions/other-apis/…,它使用 restful API 将文件上传到 alfresco。不过它是用 Java 编写的。

以上是关于使用 HTTP 时,哪种编码更好,base64、yEnc 还是 uuencode?的主要内容,如果未能解决你的问题,请参考以下文章

HTTP 内容编码,base64

Base64编码的长度问题-文件越大Base64的值越长

密码学Base64 编码 ( Base64 简介 | Base64 编码原理 | 最后编码组字节不足时补位 ‘=‘ 符号 | Base64 编码实现参考 )

图片的base64编码的利与弊?

base64 编码 HttpPostedFileBase

powershell -enc参数无法解码base64编码payload的解决方案