首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Base64 -编解码

Base64 -编解码
EN

Stack Overflow用户
提问于 2013-11-27 06:06:36
回答 2查看 1.1K关注 0票数 1

我将在android客户机上将我的图像转换为Base64。

我尝试过的 ::

  • 我在谷歌上搜索了Base64 这里
  • 但我不太明白

我的问题::

  • Base64这是一种像JPG & PNG这样的图像格式吗?
  • 还是Base64只是一个encoding/decoding方案?
  • 如果Base64只是一个encoding/decoding方案,那么当JPG被Base64编码时,图像将是什么格式。我是说会是JPG format还是encoded as Base64
  • Base64JPGPNG之间存在什么关系?
  • 另外,如果stringsBase64 encoded,那么我们需要什么样的格式才能使它具有可读性

希望我明白我的问题

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-27 08:06:05

Base64是一种编码/解码方案,如您的链接中所述。

您可以将Bytes转换为Base64字符串表示,这允许您将图像保存为(Base64)字符串。

数据的格式根本不重要(您可以将jpg、png、gif.),这意味着您将Bytes编码为一个字符串,然后如果您解码该字符串,您将得到与以前完全相同的字节(相同的格式)。

一个工作流程是:

  • 创建图像
  • 将图像保存为JPG
  • 将JPG图像编码为Base64字符串
  • 在某个网络上流字符串
  • 接收端Base64字符串图像解码
  • 显示图像

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

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

代码语言:javascript
复制
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()
票数 2
EN

Stack Overflow用户

发布于 2021-08-18 05:04:42

代码语言:javascript
复制
def model_form_upload(request):
    if request.method == 'POST':
            success = False
            form=DocumentForm(request.POST, request.FILES)
            print(form , "0000000000000")
            if form.is_valid():
                form = form.save(commit=False)
                filename = str(uuid.uuid4())
                src_image = request.POST.get('src_image')
                img_data = request.POST.get('img_src_path')
                gur_data = img_data.replace('data:image/jpeg;base64', ' ')
                data = gur_data.replace('  ', '+')
                imgdata = base64.b64decode(data)
                filename = './media/src_image/' + filename + '.jpeg'
                print(filename , "222222222222222222")
                form.src_image = src_image
                form.img_src_path = filename
                with open(filename, 'wb') as f:
                    f.write(imgdata)
                form.save()
                saved = True
                success = True
                ref_image = request.POST.get('ref_image', '')
                ref_image_1 = ref_image
                ref_image_2 = str(BASE_DIR) + '/' + str(ref_image)
                result = str(uuid.uuid4())
                download_mat = str(result)
                save_path = str('static/out/') + download_mat + '.jpg'
                print(save_path, 'result path')
                add_with_front_panel(filename, ref_image_2, save_path)
    return render(request, 'demo.html', locals())
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20235100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档