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 ...
随机推荐
- 老齐python-基础3(列表)
1.定义一个列表 >>> a = [] #创建一个空列表 >>> type(a) #查看数据类型 <class 'list'> >>> ...
- Python控制台输出不换行(进度条等)
sys.stdout.write('\r'+str) sys.stdout.flush() time.sleep(1)
- java代码-----String数组进行排序。是英文的字符串
总结:主要是方法不同了.是compareTo()方法比较字符串大小 package com.s.x; import java.util.Arrays; public class Jay { publi ...
- nginx web服务器应用
Nginx介绍 Nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件,因具有高并发(特别是静态资源),占用系统资源少等特性,且功能丰富而逐渐流行起来.功能应用上,Nginx不但是一个优 ...
- ALSA声卡12_从零编写之添加音量控制_学习笔记
1.设置音量时应用程序的调用过程 (1)strace分析: amixer cset numid=1 30 (设置音量) /dev/snd/controlC0 open SNDRV_CTL_IOCTL_ ...
- HTTP客户端之使用request方法向其他网站请求数据
在node中,可以很轻松的向任何网站发送请求并读取该网站的响应数据. var req=http.request(options,callback); options是一个字符串或者是对象.如果是字符串 ...
- 安卓权限处理 PermissionDog
PermissionDog 简介 权限狗 权限申请 最近在一家公司实习,项目中需要用到适配安卓6.0以上的系统,我本来是想用其他人已经写好的权限申请框架来实现的,但是发现跟我的需求有点小区别,所以就自 ...
- java之IO整理(中)
一:打印流/*System.out.println()重定向输出*/ /*public static void main(String[] args) { System.out.println(&qu ...
- Java对象和它的内存管理
java中的内存管理分为两个方面: 内存分配:指创建java对象时JVM为该对象在堆空间中所分配的内存空间. 内存回收:指java 对象失去引用,变成垃圾时,JVM的垃圾回收机制自动清理该对象,并回收 ...
- nginx与tomcat整合
nginx与tomcat整合 1. 在/usr/local/nginx/conf下面添加文件proxy.conf # cat /usr/local/nginx/confg/proxy.conf p ...