使用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 相关文章推荐
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
Sep 21 Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
用Python识别人脸,人种等各种信息
Jul 15 Python
Python命令行click参数用法解析
Dec 19 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
Feb 26 Python
基于python实现可视化生成二维码工具
Jul 08 Python
python批量修改文件名的示例
Sep 27 Python
python爬取代理IP并进行有效的IP测试实现
Oct 09 Python
python批量提取图片信息并保存的实现
Feb 05 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基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
2016/04/15 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
怎么判断js脚本加载完成
2014/02/28 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
Bootstrap 布局组件(全)
2016/07/18 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
微信小程序异步处理详解
2017/11/10 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
python 实现客户端与服务端的通信
2020/12/23 Python
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
上海中网科技笔试题
2012/02/19 面试题
软件测试工程师结构化面试题库
2016/11/23 面试题
公司培训欢迎词
2014/01/10 职场文书
体育专业学生自我评价范文
2014/01/17 职场文书
工程类专业自荐信范文
2014/03/09 职场文书
新闻报道策划方案
2014/06/11 职场文书
公司委托书格式范本
2014/09/16 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
企业团队精神心得体会
2016/01/19 职场文书
导游词之峨眉山
2019/12/16 职场文书
frg-100简单操作(设置)说明
2022/04/05 无线电