使用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处理大数字的方法
May 27 Python
Python网络爬虫实例讲解
Apr 28 Python
Python批量修改文本文件内容的方法
Apr 29 Python
Python如何实现文本转语音
Aug 08 Python
详解python之简单主机批量管理工具
Jan 27 Python
浅谈pytorch和Numpy的区别以及相互转换方法
Jul 26 Python
numpy中loadtxt 的用法详解
Aug 03 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
python标准库OS模块函数列表与实例全解
Mar 10 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
Mar 20 Python
IDLE下Python文件编辑和运行操作
Apr 25 Python
Django URL参数Template反向解析
Nov 24 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笔记之:基于面向对象设计的详解
2013/05/14 PHP
PHP不使用递归的无限级分类简单实例
2016/11/05 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
php和redis实现秒杀活动的流程
2019/07/17 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
jQuery.Validate表单验证插件的使用示例详解
2017/01/04 Javascript
最常见和最有用的字符串相关的方法详解
2017/02/06 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
webpack多页面开发实践
2017/12/18 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
JS常见构造模式实例对比分析
2018/08/27 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
python字典多键值及重复键值的使用方法(详解)
2016/10/31 Python
一个基于flask的web应用诞生(1)
2017/04/11 Python
Python学习小技巧之列表项的排序
2017/05/20 Python
Python实现的银行系统模拟程序完整案例
2019/04/12 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
python openpyxl使用方法详解
2019/07/18 Python
Python配置文件处理的方法教程
2019/08/29 Python
python定时任务 sched模块用法实例
2019/11/04 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
技校毕业生个人学习的自我评价
2014/02/21 职场文书
事务机电主管工作职责
2014/02/25 职场文书
2014两会学习心得:时代的发展
2014/03/17 职场文书
王老吉广告词
2014/03/20 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS