使用Python内置的模块与函数进行不同进制的数的转换


Posted in Python onMarch 12, 2016

binascii 模块:
它包含一个把二进制数值转换成十六进制的函数,同样也可以反过来转。 #binary_value是二进制数值不是字符串,也不是int型的1010

binascii.b2a_hex(binary_value) ##binary_value 一般读二进制文件可以得到 
 
>>'89' <type str>

python自带的builtin函数:
bin(num)   十进制数值 ===》二进制字符串

bin(10) 
 
>> '0b1010' <type, str>

oct(num)  十进制数值 ===》八进制字符串

oct(10) 
 
>>'012' <type, str>

hex(num) 十进制数值 ===》十六进制字符串

hex(20) 
 
>>'0x14' <type, str>

int(str, base) 其它进制字符串 ===》十进制的数值,其中base代表str具体是属于哪个进制,如果是2则表示str是二进制, 默认base为十进制

int('20') 
>>20 <type, int> 
int('10', 2) 
>>2 <type, int> 
int('10', 8) 
>>8 <type, int> 
int('20', 10) 
>>20 <type, int> 
int('20',16) 
>>32 <type, int>

字符与数字转换函数:
chr(int)   整型 转 字符

chr(65) 
 
>>'A', <type, str>

ord(chr) 字符 转 整型

ord('a') 
 
>>97, <type, int>

最后,给一个读取图片文件二进制内容的示例:

#!/usr/bin/env python  
#encoding: utf-8 
import binascii  
 
fh = open(r'C:\Temp\img\2012517165556.png', 'rb') 
a = fh.read() 
#print 'raw: ',`a`,type(a) 
hexstr = binascii.b2a_hex(a) #得到一个16进制的数 
#print 'hex: ',hexstr, type(hexstr) 
bsstr = bin(int(hexstr,16))[2:] 
print 'bin: ',bsstr, type(bsstr)

1010刷屏的效果,是不是有点黑客帝国的赶脚啊,呵呵

使用Python内置的模块与函数进行不同进制的数的转换

Python 相关文章推荐
Python3.6正式版新特性预览
Dec 15 Python
python爬虫入门教程--利用requests构建知乎API(三)
May 25 Python
Python爬取十篇新闻统计TF-IDF
Jan 03 Python
Python使用win32 COM实现Excel的写入与保存功能示例
May 03 Python
Python使用装饰器模拟用户登陆验证功能示例
Aug 24 Python
python使用Matplotlib画条形图
Mar 25 Python
Python数据可视化教程之Matplotlib实现各种图表实例
Jan 13 Python
浅谈Python 列表字典赋值的陷阱
Jan 20 Python
python实现祝福弹窗效果
Apr 07 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
Python openpyxl模块实现excel读写操作
Jun 30 Python
教你使用pyinstaller打包Python教程
May 27 Python
Python语言的面相对象编程方式初步学习
Mar 12 #Python
举例讲解Python中的list列表数据结构用法
Mar 12 #Python
Python中的if、else、elif语句用法简明讲解
Mar 11 #Python
使用Python读写文本文件及编写简单的文本编辑器
Mar 11 #Python
简单讲解Python中的数字类型及基本的数学计算
Mar 11 #Python
详解Python中的变量及其命名和打印
Mar 11 #Python
Python基本语法经典教程
Mar 11 #Python
You might like
php download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
MySQL的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
jquery 选择器部分整理
2009/10/28 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
Jquery判断$(&quot;#id&quot;)获取的对象是否存在的方法
2013/09/25 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
为python设置socket代理的方法
2015/01/14 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
python的re模块使用方法详解
2019/07/26 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
python对execl 处理操作代码
2020/06/22 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
初中体育教学反思
2014/01/14 职场文书
小学语文国培感言
2014/03/04 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
委托函范文
2015/01/29 职场文书
单位考核聘任报告
2015/03/02 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
农村婚礼司仪主持词
2015/06/29 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript
MySQL实现配置主从复制项目实践
2022/03/31 MySQL
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL
css如何把元素固定在容器底部的四种方式
2022/06/16 HTML / CSS