python读取二进制文件以及二进制、十进制、16进制间的转化
来源:互联网 发布:倩女幽魂mac版 编辑:程序博客网 时间:2024/06/05 05:34
多的不解释了直接上代码
#!/usr/bin/python#-*-coding:utf-8-*-import struct###知识点说明##### dec,=struct.unpack('B',binChar) 二进制字节数据转为十进制# bin(dec) 十进制转为二进制# hex(dec) 十进制转为16进制# int('0x10', hexData) 16进制转十进制# binData=struct.pack('B',HexByte) 16进制字节转二进制字节# struct的使用参考链接:http://www.cnblogs.com/jiangzhaowei/p/6138866.html# 十六进制数据转二进制字节流,如efefef作为参数进行转化def HexToBin(hexData): Hex_byteString = '' binData = '' while hexData: Hex_byteString = hexData[0:2] # 分割字符串,获取前两个字符 Hex_byte = int(Hex_byteString, 16) # 字符串转换成16进制 binData += struct.pack('B', Hex_byte) # 转换成字节流,“B“为格式符,代表一个unsigned char (具体请查阅struct) hexData = hexData[2:] # 分割字符串,去掉字符串前两个字符 return binDatadef ShowByte(num): Bin_voicePackage = "" Hex_voicePackage = "" for i in range(num): voiceString = str(voiceArray[i]) print "===============" a,=struct.unpack('B',voiceString) #二进制字节转为十进制正整数 print('Bin is:'+voiceString) #显示存储的二进制字节 print('Dec is:'+str(a)) #显示转化成的十进制正整数 print('Hex is:'+hex(a)) #显示转化成的16进制数据 Bin_voicePackage+=str(a) #连接十进制数据 Hex_voicePackage+=hex(a) #连接十六进制数据 print ''.join(voiceArray[:num]) print Bin_voicePackage print Hex_voicePackagedef DoSomething(readData): global voiceArray voiceArray.append(readData)if __name__ == '__main__': voiceArray = [] #二进制文件读取 binfile = open('voice.spx', 'rb') try: while True: readData = binfile.read(1) if not readData: break DoSomething(readData) finally: binfile.close() #获取前n个字符,并分别用二进制、十进制、十六进制显示,并展现这些字符的连接显示 n=5 ShowByte(n)
阅读全文
1 0
- python读取二进制文件以及二进制、十进制、16进制间的转化
- Java中十进制与二进制、八进制以及十六进制的转化
- <<,>>,>>>运算符以及二进制与十进制的相互转化
- java十进制到二进制,十六进制的转化
- objective-c 二进制,十进制,十六进制的转化
- 二进制、八进制、十进制、十六进制之间的转化
- 数据结构--二进制转化为十进制的实现
- 二进制,八进制,十进制,十六进制之间的转化
- 负数的二进制如何转化为十进制
- 递归的应用--十进制转化为二进制
- python 十进制与二进制以及位运算
- 十进制转化为二进制
- 十进制转化成二进制
- 二进制转化成十进制
- 十进制转化为二进制
- 十进制转化为二进制
- 二进制转化成十进制
- 十进制转化为二进制
- cannot resolve corresponding JNI function
- GIT的使用2(基本配置)
- eclipse快捷键
- 数据结构 红黑树
- String、StringBuffer与StringBuilder之间区别
- python读取二进制文件以及二进制、十进制、16进制间的转化
- c++/python协程服务器框架
- Python编程细节(三)
- 【Linux相识相知】任务计划和周期性任务
- 从头开始搭建一个dubbo+zookeeper平台
- Laravel 学习路线【1】基础目录认识
- java list分组
- seek()
- VMare12.5.7安装Ubuntu16.04.2失败的解决方案