使用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中__init__和__new__的区别详解
Jul 09 Python
Python使用CMD模块更优雅的运行脚本
May 11 Python
Python实现动态加载模块、类、函数的方法分析
Jul 18 Python
python实现机器人行走效果
Jan 29 Python
Python 装饰器实现DRY(不重复代码)原则
Mar 05 Python
python hbase读取数据发送kafka的方法
Dec 27 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
Jan 17 Python
python中的句柄操作的方法示例
Jun 20 Python
python脚本后台执行方式
Dec 21 Python
Pytorch 实现focal_loss 多类别和二分类示例
Jan 14 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 Python
解决Pytorch中关于model.eval的问题
May 22 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+mysql保存和输出文件
2006/10/09 PHP
使用 MySQL Date/Time 类型
2008/03/26 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
jQuery插件 tabBox实现代码
2010/02/09 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
JQuery的Pager分页器实现代码
2016/05/03 Javascript
详解nodejs异步I/O和事件循环
2017/06/07 NodeJs
浅谈关于axios和session的一些事
2017/07/13 Javascript
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
python协程之动态添加任务的方法
2019/02/19 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
HTML5和CSS3让网页设计提升到下一个高度
2009/08/14 HTML / CSS
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
英国领先品牌手动工具和电动工具供应商:Tooled Up
2018/11/24 全球购物
质量安全标语
2014/06/07 职场文书
婚宴主持词
2015/06/30 职场文书
初一年级组工作总结
2015/08/12 职场文书
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
Docker下安装Oracle19c
2022/04/13 Servers