base64编码原理:

例如:

实例一:

#-*- coding: UTF-8 -*-

__author__ = ''
__date__ = '2015/12/23' import base64 code = "aGV5LOatpOWkhOWtmOWcqGpvb21sYea8j+a0nu+8jOivt+WPiuaXtuiBlOezuyB4eHh4eHhAMTI2LmNvbSDkv67lpI3mraTmvI/mtJ4=" print type(code)
cc = base64.decodestring(code)
print cc u = u'hey,此处存在joomla漏洞,请及时联系 xxxxxx@126.com 修复此漏洞'
print type(u)
d = u.encode('utf8')
print type(d) dd = base64.encodestring(d)
print dd

运行结果:

<type 'str'>
hey,此处存在joomla漏洞,请及时联系 xxxxxx@126.com 修复此漏洞
<type 'unicode'>
<type 'str'>
aGV5LOatpOWkhOWtmOWcqGpvb21sYea8j+a0nu+8jOivt+WPiuaXtuiBlOezuyB4eHh4eHhAMTI2LmNvbSDkv67lpI3mraTmvI/mtJ4=

实例二:

#-*- coding: UTF-8 -*-

__author__ = ''
__date__ = '2016/2/15' import base64 #对字符串进行base64编码
def str2base64():
str_encode = raw_input("请输入字符串:")
en = base64.encodestring(str_encode)
print en
#对字符串进行base64解码
def base64tostr():
str_decode = raw_input("请输入base64串:")
de = base64.decodestring(str_decode)
print de
#对url字符串进行base64编码
def url2base64():
url_encode = raw_input("请输入URL字符串:")
en = base64.urlsafe_b64encode(url_encode)
print en
#对url字符串进行base64解码
def base64tourl():
url_decode = raw_input("请输入url的base64串:")
de = base64.urlsafe_b64decode(url_decode)
print de #对文件里面的字符串进行base64编码
def file_base64_en():
f1 = raw_input("请输入您要读取的文件:")
f2 = raw_input("请输入您要写入的文件:")
rf = open(f1,'r')
lines = rf.readlines()
wf = open(f2,'w')
for line in lines:
word = line.strip()
en = base64.encodestring(word)
#print en
wf.write(word+"的base64编码结果是:"+en)
#wf.write("\n")
rf.close()
wf.close()
#对文件里面的字符串进行base64解码
def file_base64_de():
f1 = raw_input("请输入您要读取的文件:")
f2 = raw_input("请输入您要写入的文件:")
rf = open(f1,'r')
lines = rf.readlines()
wf = open(f2,'w')
for line in lines:
de = base64.decodestring(line)
#print de
wf.write(line+"的base64解码结果是:"+de)
wf.write("\n")
rf.close()
wf.close() def main():
print u"a.字符串"
print u"b.url字符串"
print u"c.读取文件操作"
ch = raw_input("请选择操作数据类型:") if ch == "a":
print u"1.base64编码"
print u"2.base64解码" choice = raw_input("请选择编码或解码:")
if choice == "":
str2base64()
elif choice == "":
base64tostr()
else:
print u"您的选择不是合理的编码或解码!"
elif ch == "b":
print u"1.base64编码"
print u"2.base64解码" choice = raw_input("请选择编码或解码:")
if choice == "":
url2base64()
elif choice == "":
base64tourl()
else:
print u"您的选择不是合理的编码或解码!"
elif ch == "c":
print u"1.base64编码"
print u"2.base64解码" choice = raw_input("请选择编码或解码:")
if choice == "":
file_base64_en()
elif choice == "":
file_base64_de()
else:
print u"您的选择不是合理的编码或解码!"
else:
print u"未找到您所需要编码或解码的数据类型!" if __name__ == "__main__":
main()

python-base64编码与解码的更多相关文章

  1. python base64编码和解码图片

    简介 在实际项目中,可能需要对图片进行大小的压缩,较为常见的方法则是将图片转换为base64的编码,本文就python编码和解码图片做出一定的介绍. 代码 import base64 import o ...

  2. Python中进行Base64编码和解码

    Base64编码 广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符.优点:速度快,ascii字符,肉眼不可理解缺点:编码比较长,非常容 ...

  3. Python Base64 编码

    0x00 Base64简介 0x01 常用场景举例 0x02 编.解码流程 0x03 Python中Base64编码与解码 0x00 Base64简介 我们知道在计算机中任何数据都是按ascii码存储 ...

  4. BASE64编码和解码(VC源代码) 并 内存加载 CImage 图像

      BASE64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本.完整的BASE64定义可见 RFC1421和 RFC2045.编码后的数据比原始数据略长,为原来的4/3.在电子 ...

  5. base64编码、解码的C语言实现

    转自:http://www.cnblogs.com/yejianfei/archive/2013/04/06/3002838.html base64是一种基于64个可打印字符来表示二进制数据的表示方法 ...

  6. android Java BASE64编码和解码二:图片的编码和解码

    1.准备工作 (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础 (2)添加 ImgHelper 工具类 package com.a ...

  7. Javascript Base64编码与解码

    原文:[转]Javascript Base64编码与解码 <html> <head> <META HTTP-EQUIV="MSThemeCompatible&q ...

  8. Python的编码和解码

    Python的编码和解码 在不同的国家,存在不同的文字,由于现在的软件都要做到国际化通用,所以必须要有一种语言或编码方式,来实现各种编码的解码,然后重新编码. 在西方国家,没有汉字,只有英文,所以最开 ...

  9. C# base64编码、解码

    public class TransferCode { #region base-64编码.解码 /// <summary> /// BASE64编码 /// </summary&g ...

  10. Url的Base64编码以及解码

    Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致.我们可以在发送前将“+”,“/”,“ ...

随机推荐

  1. F - The Circumference of the Circle

    Description To calculate the circumference of a circle seems to be an easy task - provided you know ...

  2. html5的本地存储localStorage和sessionStorage

    html5的本地存储localStorage和sessionStorage html5中新增的比较重要的一个功能就是web storage来实现客户端本地存储数据,之前存储数据都是用cookie来实现 ...

  3. AngularJs中关于ng-class的三种使用方式说明

    在开发中我们通常会遇到一种需求:一个元素在不同的状态需要展现不同的样子. 而在这所谓的样子当然就是改变其css的属性,而实现能动态的改变其属性值,必然只能是更换其class属性 这里有三种方法: 第一 ...

  4. Python 整理一

    ---恢复内容开始--- Python (pailen)最近学习这个语言,其实早在几年前学习perl的时候就知道有这个语言了,在讲perl的那本书后面就推荐学习python,并且还附加了二章的入门.当 ...

  5. ios html5 长按复制文本

    以前做的项目,主要是针对ios的,安卓上面也没有测试. 原理其实是系统自带的功能,那时候借鉴的其他网站,没有试验通过document.execCommand("Copy"),别的j ...

  6. 移动网页版Meta 标签

    viewport 大部分移动浏览器都接受,比如 Opera Mobile, iPhone, Android, Iris, IE, BlackBerry, Obigo, Firefox 最基本的例子,在 ...

  7. Cable master--hdu1551(二分法)

    Cable master Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  8. 深入理解Autofac生命周期

    为什么Autofac表现的这样? 这里似乎有几个陷阱,虽然这里只有一个------并且这个值得重申: Autofac将会跟踪每一个他所创建的可销毁的组件实例,无论这个实例是怎样被获取的. 当然,最终. ...

  9. racle undo 解析

    racle undo 解析 声明一下:关于oracle的文章基于boobooke小布老师视频,在我学习的过程中,每有体会拿来分享,虽然从理解到整理分享很耗时,但我想这样的学习是扎实的. Undo是干嘛 ...

  10. EasyUI 使用心得

    最近项目中用到EasyUI,总结了一下 注:EasyUI中所有的控件不能重名,否则会出现意向不到的后果.这是EasyUI框架决定的. ① EasyUI 获取文本框中的值 //日期 $('#beginD ...