使用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 unicode特性
Nov 28 Python
python实现端口转发器的方法
Mar 13 Python
python读取一个目录下所有txt里面的内容方法
Jun 23 Python
python2 与 python3 实现共存的方法
Jul 12 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
Aug 03 Python
python散点图实例之随机漫步
Aug 27 Python
Python数据可视化教程之Matplotlib实现各种图表实例
Jan 13 Python
Python3多线程版TCP端口扫描器
Aug 31 Python
python日志模块logbook使用方法
Sep 19 Python
python错误调试及单元文档测试过程解析
Dec 19 Python
python使用配置文件过程详解
Dec 28 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
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 无限极分类
2008/03/27 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
2015/06/03 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
node.js中watch机制详解
2014/11/17 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
2016/06/06 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
Windows下快速搭建NodeJS本地服务器的步骤
2017/08/09 NodeJs
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
python网络应用开发知识点浅析
2019/05/28 Python
Python PyInstaller库基本使用方法分析
2019/12/12 Python
Python基于Socket实现简单聊天室
2020/02/17 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
应届大专生自荐书
2014/06/16 职场文书
工会工作先进事迹
2014/08/18 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
MySQL 数据 data 基本操作
2022/05/04 MySQL
SQL Server 中的事务介绍
2022/05/20 SQL Server