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个字节.

相关内置函数

  1. chr():把一个整形转换成ASCII码表中对应的单个字符
  2. ord():把ASCII码表中的字符转换成对应的整形
  3. hex():把十进制转换成16进制字符
  4. oct():把十进制转换成八进制字符
  5. 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

参考链接:

  1. https://docs.python.org/2/library/binascii.html#module-binascii

  2. http://zeping.blog.51cto.com/6140112/1261876

  3. http://www.oschina.net/question/565065_138907

Python binascii的更多相关文章

  1. python binascii模块详解

    ['Error', 'Incomplete', 'b2a_hex', 'hexlify' #Hexadecimal representation of binary data. 字符串转16进制'a2 ...

  2. python模块介绍- binascii 二进制和ASCII转换

    python模块介绍-binascii二进制和ASCII转换 目录 项目简介 简介: Uu编码 Binhex编码 Base64编码 QP码 CRC校验和 二进制转换 其他实例 项目简介 Python中 ...

  3. Python第二十四天 binascii模块

    Python第二十四天 binascii模块 binascii用来进行进制和字符串之间的转换 import binascii s = 'abcde' h = binascii.b2a_hex(s) # ...

  4. python模块介绍- binascii:二进制和ASCII互转以及其他进制转换

    20.1 binascii:二进制和ASCII互转作用:二进制和ASCII互相转换. Python版本:1.5及以后版本 binascii模块包含很多在二进制和ASCII编码的二进制表示转换的方法.通 ...

  5. python 3使用binascii方法的报错解决

    环境是python 3 问题: 使用binascii方法一直出现报错TypeError: a bytes-like object is required, not 'str' #coding: utf ...

  6. python中的binascii模块

    binascii模块拿来干嘛的? 答:进制转换xxoo #!/usr/bin/env python # encoding:utf-8 # by i3ekr import binascii s = &q ...

  7. python中的binascii

    import binascii as B s = 'abcde' h = B.b2a_hex(s) # 字符串转16进制 '6162636465' h = B.hexlify(s) # 作用同上 s ...

  8. Python的功能模块[3] -> binascii -> 编码转换

    binascii模块 / binascii Module binascii模块包含很多在二进制和 ASCII 编码的二进制表示之间的转换方法.关于进制转换可以参考一些内置函数. hexlify 与 u ...

  9. Python模拟登陆新浪微博

    上篇介绍了新浪微博的登陆过程,这节使用Python编写一个模拟登陆的程序.讲解与程序如下: 1.主函数(WeiboMain.py): import urllib2 import cookielib i ...

随机推荐

  1. dwr的A request has been denied as a potential CSRF attack.错误

    虽然DWR是个很早就出现的Ajax框架,但一直都没去使用过,今天正好没事就看了一下并参照文档照做了个demo, 在其中碰到一个问题: 后台打印出错误信息:“严重: A request has been ...

  2. SQL中利用脚本恢复数据库

    SQL中利用脚本恢复数据库   编写人:CC阿爸 2014-6-15 在日常SQL数据库的操作中,如何恢复数据库 use master drop database SCS1 RESTORE DATAB ...

  3. Unit03: 容器对路径的处理 、 Servlet特性

    Unit03: 容器对路径的处理 . Servlet特性 案例一:查询,增加员工: 重定向 处理请求资源路径 目录结构: 案例代码: package dao; import java.io.Seria ...

  4. vim 编辑技巧

    vi是linux下最常用的编辑器,vim是vi的加强版,本篇将介绍vim的一些快捷键和使用技巧,借鉴网上其他文章表示

  5. Django模板输出Dict所有Value的效率问题

    一次跑偏之旅!   对于一个惯用C++的人来说,使用Python这种语言的一大障碍就是许多集合类型的操作效率并不如传统的经典数据结构那样直观可见,以及许多实际上涉及到内存分配.对象复制之类的耗时操作被 ...

  6. Django 组件-ModelForm

    ModelForm 组件功能就是把model和form组合起来. 首先导入ModelForm from django.forms import ModelForm 在视图函数中,定义一个类,比如就叫S ...

  7. 初学java记录

    记录一: if语句: if(x < y) System.out.println("x is less than y"); 记录二: 强制转换字符类型赋值的方法: num2= ...

  8. 操作系统-服务器-百科:Nginx(engine X)

    ylbtech-操作系统-服务器-百科:Nginx(engine X) Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx ...

  9. [Java.web][eclipse]经验集

    自动提示部分内容来自:http://www.cnblogs.com/mashuangying2016/p/6549991.html 使用 Eclipse 调试 Tomcat 的设置: Window - ...

  10. 读取web外的配置文件

    一般web项目配置文件都放在classPath下面,读取的时候: 1 import java.io.InputStream; 2 import java.util.Properties; 3 publ ...