python-base64编码与解码
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编码与解码的更多相关文章
- python base64编码和解码图片
简介 在实际项目中,可能需要对图片进行大小的压缩,较为常见的方法则是将图片转换为base64的编码,本文就python编码和解码图片做出一定的介绍. 代码 import base64 import o ...
- Python中进行Base64编码和解码
Base64编码 广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符.优点:速度快,ascii字符,肉眼不可理解缺点:编码比较长,非常容 ...
- Python Base64 编码
0x00 Base64简介 0x01 常用场景举例 0x02 编.解码流程 0x03 Python中Base64编码与解码 0x00 Base64简介 我们知道在计算机中任何数据都是按ascii码存储 ...
- BASE64编码和解码(VC源代码) 并 内存加载 CImage 图像
BASE64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本.完整的BASE64定义可见 RFC1421和 RFC2045.编码后的数据比原始数据略长,为原来的4/3.在电子 ...
- base64编码、解码的C语言实现
转自:http://www.cnblogs.com/yejianfei/archive/2013/04/06/3002838.html base64是一种基于64个可打印字符来表示二进制数据的表示方法 ...
- android Java BASE64编码和解码二:图片的编码和解码
1.准备工作 (1)在项目中集成 Base64 代码,集成方法见第一篇博文:android Java BASE64编码和解码一:基础 (2)添加 ImgHelper 工具类 package com.a ...
- Javascript Base64编码与解码
原文:[转]Javascript Base64编码与解码 <html> <head> <META HTTP-EQUIV="MSThemeCompatible&q ...
- Python的编码和解码
Python的编码和解码 在不同的国家,存在不同的文字,由于现在的软件都要做到国际化通用,所以必须要有一种语言或编码方式,来实现各种编码的解码,然后重新编码. 在西方国家,没有汉字,只有英文,所以最开 ...
- C# base64编码、解码
public class TransferCode { #region base-64编码.解码 /// <summary> /// BASE64编码 /// </summary&g ...
- Url的Base64编码以及解码
Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致.我们可以在发送前将“+”,“/”,“ ...
随机推荐
- 不规则三角网 Delaunay——TIN
http://blog.csdn.net/u010025211/article/details/25032209 知识点一:平面中判断一个点是否在三角形内部. #include <stdio.h ...
- 从汇编看c++中成员函数指针(一)
下面先来看c++的源码: #include <cstdio> using namespace std; class X { public: int get1() { ; } virtual ...
- mysql插入返回当前生成的主键
1:sql中需要添加属性 keyColumn="base_price_id" keyProperty="basePriceId" useGeneratedKe ...
- centos 7 epel地址
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
- 基于DateTime Picker修改成类似旅游网站出发日期选择的功能
原版说明文档:http://www.bootcss.com/p/bootstrap-datetimepicker/ 修改后可支持多日期选择和控制可选日期,这样就能在后台设置哪些日期可选,前台展示时可以 ...
- Exception和IOException之间的使用区别
Exception和IOException之间的使用区别 先看一段代码.这段代码来自<深入剖析tomcat> public void await() { // 创建ServerSock ...
- ALM11客户端安装办法
使用HP公司的QC11(ALM11.0)做项目缺陷管理,发现QC只支持IE7,IE8.其实可以通过安装ALM自已提供的浏览器就行了. 第一步:关闭UAC(用户账户控制) 第二步:打开ie,将ie-in ...
- Ubuntu10.4 Install DB2V9.5
1. Download the DB2V9.5 Software from URL: http://www14.software.ibm.com/webapp/download/search.jsp ...
- 为TL-WR720N编译带mentohust和njit-client的openwrt固件
openwrt的trunk版已经支持720N了.简单好多. 首先下载openwrt源码,我下的是trunk版 svn co svn://svn.openwrt.org/openwrt/trunk/ 然 ...
- Eclipse的NDEF插件诞生,将加速NFC应用开发
今年2月份,NFC论坛刚刚发布了NFC技术的首个规范NDEF(nfc data exchange format)-即NFC数据交换规范.而不到2个月的今天Eclipse就发布了基于NDEF规范的NFC ...