为什么我们需要在传输之前对图像进行base64编码?

时间:2010-03-10 17:18:00

标签: php http base64

  

可能重复:
  What is the use of base 64 encoding?

在通过HTTP协议传输之前,我已经看到很多代码片段base64编码图像。

我想知道为什么需要它?

3 个答案:

答案 0 :(得分:2)

没有必要,但它可以让您在不执行其他HTTP请求的情况下嵌入图像(在某些情况下,这是不可能或不允许的)。

答案 1 :(得分:0)

来自Base64上的维基百科条目:

  

术语Base64指的是具体的   MIME内容传输编码。它是   也用作任何通用术语   编码的类似编码方案   二进制数据通过数字处理   并将其翻译成基地64   表示。特别的选择   基地是由于历史   字符集编码:可以选择   一组64个字符,两者都是   大部分共同的子集的一部分   编码,也可打印。这个   组合不太可能留下数据   在过境时修改   系统,如电子邮件,这些   传统上不是8位清洁。

特别是关于HTTP:

  

Base64编码可能会有所帮助   相当冗长的识别信息   用于HTTP环境。对于   例如,数据库持久性   Java对象的框架可能会使用   Base64编码相对编码   大的唯一id(通常是128位   UUIDs)成一个字符串用作   HTTP表单或HTTP中的HTTP参数   获取网址。此外,许多应用程序需要   以某种方式编码二进制数据   方便列入URL,   包括在隐藏的Web表单字段中,   和Base64是一个方便的编码   不仅以紧凑的方式呈现它们,   但在一个相对难以理解的   当试图掩盖其性质时   来自一个随意的人类观察者的数据。

答案 2 :(得分:-2)

HTTP协议不保证是“8位清除”,因此它可能会破坏二进制流。