Python binascii
Python binascii模块
转载请标明出处(http://blog.csdn.net/lis_12/article/details/52785755).
用处
主要用于二进制和ASCII互相转换(Convert between binary and ASCII );
包含的函数
| 函数 | 描述 |
|---|---|
| a2b_uu(string) | 将以ascii编码的一行数据转化为二进制,并且返回二进制数据. |
| b2a_uu(data) | 将二进制数据转化为一行以ascii编码的字符,date的最大长度为45. |
| a2b_base64(string) | 将一块base64的数据转换为二进制数据,并返回该二进制数据 |
| b2a_base64(string) | 与上面相反 |
| a2b_qp(string[, header]) | quoted-printable data->bin,并返回 |
| b2a_qp(data[, quotetabs, istext, header]) | 与上面相反 |
| a2b_hqx(string) | binhex4格式化的ASCII数据转换为二进制,没有做RLE解压. |
| b2a_hqx(data) | 与上相反 |
| rledecode_hqx(data) | 按照binhex4标准,对data执行RLE解压 |
| rlecode_hqx(data) | 对data执行binhex方式的压缩,并返回结果 |
| crc_hqx(data, crc) | 计算data的binhex4的crc值 |
| crc32(data[, crc]) | 根据crc,计算crc32(32位检验和数据,然后将结果&0xffffffff(为了在所有Python版本中生成相同的结果,具体不清楚,求指导…) |
| b2a_hex(data) | 返回二进制数据的16进制的表现形式 |
| a2b_hex(data) | 与上面相反 |
| hexlify(data) | 返回二进制数据的16进制的表现形式 |
| unhexlify(hexstr) | 与上面相反 |
注:一行数据最多45个字节.
相关内置函数
- chr():把一个整形转换成ASCII码表中对应的单个字符
- ord():把ASCII码表中的字符转换成对应的整形
- hex():把十进制转换成16进制字符
- oct():把十进制转换成八进制字符
- bin():把十进制整形转换成二进制字符
code,使用示例
#coding:utf-8
import binascii
a = 'hello world'
#先把a转换成二进制数据然后在用十六进制表示
b = binascii.b2a_hex(a)
c = binascii.hexlify(a)#和a2b_hex()功能是一样的,但是推荐用这个函数,具体不清楚= =
print '{0:10s}'.format('b2a_hex'),
for i in range(0,len(b),2):
print b[i:i+2],
print
#到这是不是发现了,利用b2a_hex()返回的字符串长度为原串的两倍,因为转换为十六进制,一个字节用两个字节表示了
print '{0:10s}'.format('hexlify'),
for i in range(0,len(c),2):
print c[i:i+2],
print
print '{0:10s}'.format('ord'),
for i in a:
print hex(ord(i))[2:],#手动转换为二进制十六进制
print
#与b2a_hex相反
print binascii.a2b_hex(b)
print binascii.unhexlify(c)
'''
result:
b2a_hex 68 65 6c 6c 6f 20 77 6f 72 6c 64
hexlify 68 65 6c 6c 6f 20 77 6f 72 6c 64
ord 68 65 6c 6c 6f 20 77 6f 72 6c 64
hello world
hello world
'''
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
参考链接:
Python binascii的更多相关文章
- python binascii模块详解
['Error', 'Incomplete', 'b2a_hex', 'hexlify' #Hexadecimal representation of binary data. 字符串转16进制'a2 ...
- python模块介绍- binascii 二进制和ASCII转换
python模块介绍-binascii二进制和ASCII转换 目录 项目简介 简介: Uu编码 Binhex编码 Base64编码 QP码 CRC校验和 二进制转换 其他实例 项目简介 Python中 ...
- Python第二十四天 binascii模块
Python第二十四天 binascii模块 binascii用来进行进制和字符串之间的转换 import binascii s = 'abcde' h = binascii.b2a_hex(s) # ...
- python模块介绍- binascii:二进制和ASCII互转以及其他进制转换
20.1 binascii:二进制和ASCII互转作用:二进制和ASCII互相转换. Python版本:1.5及以后版本 binascii模块包含很多在二进制和ASCII编码的二进制表示转换的方法.通 ...
- python 3使用binascii方法的报错解决
环境是python 3 问题: 使用binascii方法一直出现报错TypeError: a bytes-like object is required, not 'str' #coding: utf ...
- python中的binascii模块
binascii模块拿来干嘛的? 答:进制转换xxoo #!/usr/bin/env python # encoding:utf-8 # by i3ekr import binascii s = &q ...
- python中的binascii
import binascii as B s = 'abcde' h = B.b2a_hex(s) # 字符串转16进制 '6162636465' h = B.hexlify(s) # 作用同上 s ...
- Python的功能模块[3] -> binascii -> 编码转换
binascii模块 / binascii Module binascii模块包含很多在二进制和 ASCII 编码的二进制表示之间的转换方法.关于进制转换可以参考一些内置函数. hexlify 与 u ...
- Python模拟登陆新浪微博
上篇介绍了新浪微博的登陆过程,这节使用Python编写一个模拟登陆的程序.讲解与程序如下: 1.主函数(WeiboMain.py): import urllib2 import cookielib i ...
随机推荐
- C#开机启动与退出程序
最新用到的项目中需要使用开机自启和退出程序,于是需要 http://www.cnblogs.com/Gaoswatou/p/6605760.html C# WinForm程序退出的方法 1.this. ...
- Spring链接汇总
Spring Boot专题 基础入门内容 SpringBoot快速入门 Why Spring Boot 使用Intellij中的Spring Initializr来快速构建Spring Boot/Cl ...
- CXF+Spring搭建webservice服务
Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS .这些 Services 可以支持多 ...
- Java-Runoob:Java 方法
ylbtech-Java-Runoob:Java 方法 1.返回顶部 1. Java 方法 在前面几个章节中我们经常使用到 System.out.println(),那么它是什么呢? println( ...
- 阿里云经典网络下一键安装RouterOS-ROS系统
1.阿里云环境centos6.9 x64: 内网网卡为eth0 外网网卡为eth1 阿里云的linux下硬盘名称为/dev/vda 注意阿里云的安全组建议开放任意协议和端口,任意IP允许访问 今天测试 ...
- 十九 yield方法
yield()方法的作用是放弃当前的CPU资源,让 其他任务占用CPU执行时间.但放弃时间不确定, 有可能刚刚放弃,马上又获得CPU时间片.
- Tkinter学习
from tkinter import * window = Tk() # 创建一个窗口 window.mainloop() # 消息循环,显示窗口 window.title("窗口标题&q ...
- Spring Boot自定义配置
一.方法 覆盖自动配置很简单,就当自动配置不存在,直接显式地写一段配置.这段显式配置的形式 不限, Spring支持的XML和Groovy形式配置都可以. 二.原理 @ConditionalOnMis ...
- MySQL查看用户权限的两种方法
http://yanue.net/post-96.html MySQL查看用户权限命令的两方法: 一. 使用MySQL grants MySQL grant详细用法见:http://yanue.net ...
- Spring DI的配置使用
1.1.1 依赖和依赖注入Spring IOC容器的依赖有两层含义:Bean依赖容器和容器注入Bean的依赖资源:a.Bean依赖容器:也就是说Bean要依赖于容器,这里的依赖是指容器负责创建Bean ...