【www.bbyears.com--python】
用Python 获取图片的Base64编码,源代码如下:
代码如下 复制代码 #!/usr/bin/env python# -*- coding: utf-8 -*-
"""
# base64-pic.py
"""
import os, base64
icon = open("ya.png","rb")
iconData = icon.read()
iconData = base64.b64encode(iconData)
LIMIT = 60
liIcon = []
while True:
sLimit = iconData[:LIMIT]
iconData = iconData[LIMIT:]
liIcon.append(""%s"" %sLimit)
if len(sLimit) < LIMIT:
peak
print os.linesep.join(liIcon)
python的base64编码图片
很多年以前,曾经保存过一个页面,但发现图片并没有以文件的形式保存下来,打开页面时图片却有显示,
开始以为是js玩的花招(因为里面一大堆js跳来跳去),链接到了其它地方,调查后发现源代码里有一大段看不懂的编码,
虽然估计这段代码就是图片,受限于当时的视野,百思不得其解~
现在终于明白了!python的base64编码图片 - (^_^) - 安静
测试例子,把文字转成base64编码
>>> import base64
>>> ls_s="字符串文本"
>>> ls_t=base64.b64encode(ls_s) #转换文本内容到base64
>>> print ls_t
19a3+7SuzsSxvg==
>>> print base64.b64decode(ls_t) #解码
字符串文本
>>>
把图片内容转成base64编码
import base64
f=open(r"x:1.jpg","rb") #二进制方式打开图文件
ls_f=base64.b64encode(f.read()) #读取文件内容,转换为base64编码
f.close()
把编码文本写入一个txt文件
fw=open(r"x:1.txt","w") #打开一个空白文本文件,准备写入
fw.write(ls_f)
fw.flush()
fw.close()
网页的表达
注意 image/jpeg 如果图片是其它类型的,这里也要修改; image/png、image/gif、image/bmp 等
data: URI定义于IETF标准的RFC 2397
data: URI的基本使用格式如下:
data:[
最后做个实例,把这段保存为htm文件,用浏览器打开看看是不是一个图,
src="data:image/bmp;base64,Qk0eAgAAAAAAALYAAAAoAAAAEgAAABIAAAABAAgAAAAAAAAAAA DEDgAAxA4AACAAAAAgAAAAFSph/ySn4f8jRGP/mt70/zg1M/9DqMr/YWJg/yZqtf8EAwP/Xouz/5O qpP81Vn7/O4ut/xQqQP8TUJL/TmaU/y9ylv8nWKH/g3Z1/x3d9v+JvNj/LCYk/yQcGf8Nb7T/HUKV /w0bJ/8XW7L/YNT7/7b1/P+Niof/I43F/////wAfFhYVFhUWFhYVFRUVFhUWFR8AABYCBwcYARgJC wQNDQICDQ0NBAAABAIaEQcHCwsNDQICBA0NDQIEAAAEAgcHHg4CCw4eFAIPAg0NAgQAAAQLBwceDg sQEQMJHh4GDQ0CBAAAFQsaGgcRDwULCw8UCQ0CDQsEAAAEAAcREQ4LCQEXDgAAAQIZEAQAABUCGAc RGAAJAxsbDAsKAhkQBAAAFQwYGAcHAAMDAxQUFAodDQIVAAAWHgEYGB4YAwMDHBwDCgYNDRUAABUQ AQEYBx4RFBQCFA8CBAACFQAABAgeAR4RAREZAAAJFA4ADQsVAAAECBkBAR4FHhEFHBwUCgoCAhUAA BUICB4eHgEHHBwcHAMUCgICFQAAFQgIDQEeEwEPAwMUCQkAAgwWAAACCAgIAQETExoAGhcXHg4TGR UAABUGFggZDAUFBQwMEBAMBQ8EBgAAHwQKEhISEhISEhIdEhISHRIfAAA=" />
可在Chrome、firefox、Opera、ie8里使用
这里杯具来了,经测试居然不能在ie6中使用,可印象中那个应该是ie一族的,可能是ie5
查下资料,ie8也是有限支持32K以内,ie6/ie7不支持,而ie5居然是率先开始支持的(因为效率安全问题在ie6被弃用了)。
有点美中不足啊~ python的base64编码图片 - (^_^) - 安静
参考
网页截图 Chrome插件
https://chrome.google.com/extensions/detail/ckibcdccnfeookdmbahgiakhnjcddpki?itemlang=zh-CN
Python中进行Base64编码和解码
http://blog.csdn.net/lxdcyh/archive/2009/03/24/4021476.aspx
JavaScript 图片预览效果 2
http://www.wolaikanshu.cn/Article/web/htmlcss/201002/39292.html