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

4
我的需求是通过HTTP将数据编码并发送到网络,但我卡在了选择最佳编码技术上。以上三种编码技术中哪一种是最好的?有更好的吗?
“最好”的标准应该是尽可能小的大小和快速的编码/解码速度。

你对“最佳”的标准是什么? - Sirko
我已经更新了最佳标准。 - Charzhard
yEnc、Base64和Uuencode不是压缩算法。它们用于在仅支持文本协议的情况下发送二进制数据,例如POP3和SMTP。如果您没有遇到这种情况(仅限于文本),那么您可以简单地压缩您的数据。您正在传输图像、PDF文档等等,请问您使用的是哪种协议? - Tarik
@Tarik 我正在通过HTTP协议发送数据,同时我也在发送图片、PDF、音频、视频等各种类型的文档。 - Charzhard
由于其可预测的开销,escapeless 可能是 yEnc 的一个很好的替代品。 - Ivan Kosarev
1个回答

1
yEnc的开销较小,但有其他问题,这里提到了http://en.wikipedia.org/wiki/YEnc#Criticisms。"最好"取决于您可能拥有的标准以及您计划如何通过网络发送数据。您是使用Web服务、电子邮件还是其他方式?您需要提供更多细节。
编辑:由于您正在通过HTTP上传数据,因此无需使用Base64、yEnc或Uuencode。您只需使用浏览器和Web服务器中内置的标准http文件上传工具。请参考以下问题: How does HTTP file upload work? 还有这个参考: http://www.hanselman.com/blog/ABackToBasicsCaseStudyImplementingHTTPFileUploadWithASPNETMVCIncludingTestsAndMocks.aspx

我正在从用户界面获取数据,对其进行编码并将其存储在文档管理系统中,我已为您方便地编辑了问题。 - Charzhard
我在这里找到了一些代码:http://forums.alfresco.com/forum/developer-discussions/other-apis/uploading-file-alfresco-repository-using-alfrescorest-api,它使用restful API将文件上传到alfresco。不过是用Java写的。 - Tarik
该链接并不实用,问题的主题是编码,我只需要一个好的编码技巧。 - Charzhard
如果您在使用yEnc时没有遇到兼容性问题,那么由于它的开销最小,我建议您使用它。如果可能的话,您可以压缩、编码、上传文件,然后在服务器端解码和解压缩。除了开销之外,我真的看不出还有其他标准可以确定最佳选择。 - Tarik
这似乎是对我来说最好的选择,我会把它作为我的答案。 - Charzhard
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接