Base64 - 编码和解码

时间:2013-11-27 06:06:36

标签: image image-processing encoding decoding

我正在将我的图像转换为Android客户端

上的Base64

我尝试了什么 ::

  • 我用Google搜索了Base64 here
  • 但我无法理解清楚

我的问题 ::

  • Base64这是一种图像格式,如JPG& PNG
  • Base64只是encoding/decoding计划?
  • 如果Base64只是encoding/decoding方案,那么图片的格式是什么 将是JPG Base64编码的时候。我的意思是JPG format 仍然只是encoded as Base64
  • Base64JPGPNG之间存在什么关系?

  • 如果stringsBase64 encoded,我们还需要采用何种格式 decode它是人类可读的

希望我的问题清楚

1 个答案:

答案 0 :(得分:2)

Base64是您link中所述的编码/解码方案 您可以将字节转换为Base64字符串表示,这允许您保存例如一个图像作为(Base64)字符串。
数据的格式根本不重要(你可以转换jpg,png,gif ......), 这意味着您将字节编码为字符串,然后如果您解码此字符串,您将获得与以前完全相同的字节数(相同的格式)。

工作流程将是:

  • 创建图片
  • 将图像另存为JPG
  • 将JPG图像编码为Base64字符串
  • 通过某些网络流式传输字符串
  • 从接收方的Base64字符串解码图像
  • show Image

为什么我们编码呢?因为字符串更容易在HTML,电子邮件等中使用。

示例: 这是使用Python的Base64编码和解码的示例。它加载图像,对其进行编码,对其进行解码,然后将数据保存为图像。

import base64

# load image and encode
jpgBase64String = base64.encodestring(open("test.jpg", "rb").read())

# work with jpgBase64String (e.g. send over Network)
[...]

# decode
image = base64.decodestring(newjpgtxt))

# write to File
f = open("test2.jpg", "w")
f.write(image)
f.close()