使用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中常用检测字符串相关函数汇总
Apr 15 Python
Python函数式编程指南(三):迭代器详解
Jun 24 Python
python实现字符串连接的三种方法及其效率、适用场景详解
Jan 13 Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 Python
老生常谈python中的重载
Nov 11 Python
python pandas库的安装和创建
Jan 10 Python
对python中GUI,Label和Button的实例详解
Jun 27 Python
python调用支付宝支付接口流程
Aug 15 Python
python画蝴蝶曲线图的实例
Nov 21 Python
python飞机大战pygame碰撞检测实现方法分析
Dec 17 Python
Python HTMLTestRunner如何下载生成报告
Sep 04 Python
Python实现列表拼接和去重的三种方式
Jul 02 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实现的功能是显示8条基色色带
2006/10/09 PHP
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
2017/08/17 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
js打造数组转json函数
2015/01/14 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
jquery获取easyui日期控件的值实现方法
2016/11/09 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
使用Vue构建可重用的分页组件
2018/03/26 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
python计算对角线有理函数插值的方法
2015/05/07 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
Python 字典一个键对应多个值的方法
2020/09/29 Python
python 下载文件的多种方法汇总
2020/11/17 Python
python 爬取小说并下载的示例
2020/12/07 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
高中生操行评语
2014/04/25 职场文书
土建施工员岗位职责
2014/07/16 职场文书