python中怎么查看二进制转换的数据_python处理二进制数据的方法
#!/usr/env/env python
#-*- coding: cp936 -*-
'''''
add Head Infomation for pcm file
'''
import sys
import struct
import os
__author__ = 'bob_hu, hewitt924@gmail.com'
__date__ = 'Dec 19,2011'
__update__ = 'Dec 19,2011'
def geneHeadInfo(sampleRate,bits,sampleNum):
'''''
生成头信息,需要采样率,每个采样的位数,和整个wav的采样的字节数
'''
rHeadInfo = '\x52\x49\x46\x46'
fileLength = struct.pack('i',sampleNum + 36)
rHeadInfo += fileLength
rHeadInfo += '\x57\x41\x56\x45\x66\x6D\x74\x20\x10\x00\x00\x00\x01\x00\x01\x00'
rHeadInfo += struct.pack('i',sampleRate)
rHeadInfo += struct.pack('i',sampleRate * bits / 8)
rHeadInfo += '\x02\x00'
rHeadInfo += struct.pack('H',bits)
rHeadInfo += '\x64\x61\x74\x61'
rHeadInfo += struct.pack('i',sampleNum)
return rHeadInfo
if __name__ == '__main__':
if len(sys.argv) != 5:
print "usage: python %s inFile sampleRate bits outFile" % sys.argv[0]
sys.exit(1)
fout = open(sys.argv[4],'wb') #用二进制的写入模式
#fout.write(struct.pack('4s','\x66\x6D\x74\x20'))
#写入一个长度为4的串,这个串的二进制内容为 66 6D 74 20
#Riff_flag,afd,fad,afdd, = struct.unpack('4c',fin.read(4))
#读入四个字节,每一个都解析成一个字母
#open(sys.argv[4],'wb').write(struct.pack('4s','fmt '))
#将字符串解析成二进制后再写入
#open(sys.argv[4],'wb').write('\x3C\x9C\x00\x00\x57')
#直接写入二进制内容:3C 9C 00 00 57
#fout.write(struct.pack('i',6000)) #写入6000的二进制形式
#check whether inFile has head-Info
fin = open(sys.argv[1],'rb')
Riff_flag, = struct.unpack('4s',fin.read(4))
if Riff_flag == 'RIFF':
print "%s 有头信息" % sys.argv[1]
fin.close()
sys.exit(0)
else:
print "%s 没有头信息" % sys.argv[1]
fin.close()
#采样率
sampleRate = int(sys.argv[2])
#bit位
bits = int(sys.argv[3])
fin = open(sys.argv[1],'rb')
startPos = fin.tell()
fin.seek(0,os.SEEK_END)
endPos = fin.tell()
sampleNum = (endPos - startPos)
print sampleNum
headInfo = geneHeadInfo(sampleRate,bits,sampleNum)
fout.write(headInfo)
fin.seek(os.SEEK_SET)
fout.write(fin.read())
fin.close()
fout.close()
python中怎么查看二进制转换的数据_python处理二进制数据的方法相关推荐
- python中时间处理去空格去冒号_Python实用日期时间处理方法汇总
原则, 以datetime为中心, 起点或中转, 转化为目标对象, 涵盖了大多数业务场景中需要的日期转换处理 步骤: 1. 掌握几种对象及其关系 2. 了解每类对象的基本操作方法 3. 通过转化关系转 ...
- python十进制小数转二进制_在python中如何将十进制小数转换成二进制
在python中如何将十进制小数转换成二进制 在最近的学习中发现博客园里面找不到如何在python中如何将十进制小数转换成二进制,所以我用土方法写了一个超级简单的转换方法(不过转换出来的数只是形式上是 ...
- python中json与str转换和出现KeyError的解决方法
python中json与str转换和出现KeyError的解决方法 json转str str转json KeyError的解决方法 json转str json格式的数据其实就是dict类型的数据,如图 ...
- Python中如何查看(打印输出)变量的数据类型
1 致谢 感谢网友IT技术随笔提供的帮助 链接如下: https://www.cnblogs.com/wushuaishuai/p/7739728.html 2 问题描述 今天在学习如何用OpenCV ...
- python中xml格式的转换
文章目录 python中xml格式的转换 1. 基于DOM. 2. 基于ElementTree 使用dicttoxml xmltodict等模块 1.解析xml文件: 2.字典转换为xml文件: 3. ...
- python中numpy数组和字符串互转(互转后数据完全一致)
python中numpy数组和字符串互转(互转后数据完全一致) 代码: import numpy as np # 创建数组arr arr = np.array([ -1.8264365 , -0.63 ...
- python中、文件最重要的功能是( )和接收数据_170道面试题,python让你前尘毋庸
所有题目 语言特性 1.谈谈对 Python 和其他语言的区别 2.简述解释型和编译型编程语言 3.Python 的解释器种类以及相关特点? 4.说说你知道的Python3 和 Python2 之间的 ...
- 关于python中的字符串映射转换
关于python中的字符串映射转换 利用Python字符串映射的方式来快速准确对Python字符串中对应的字符串进行替换,方法主要有两种: 第一种:maketrans方法 maketrans方法的参数 ...
- python中如何进行温度转换_python中温度单位转换的实例方法
温度有摄氏度和华氏度两个单位,我们通常使用的是摄氏度,对于转换成华氏度,很多小伙伴记不住公式.作为万能的计算机,它是可以帮助我们解决温度单位转换的问题.本文主要演示python中进行温度单位转换的代码 ...
- python中使用什么注释语句和运算_Python基础知识
本文标识 :Python_1 本文编辑 : Jack 风 编程工具 : Anaconda.Pycharm 阅读时长 : 12分钟 Python基础学习为什么那么多培训机构?那么多的程序员呢? 很简单啊 ...
最新文章
- 参加51CTO学院软考培训,我通过啦!
- 十三、java_GUI
- Python知识点笔记-列表list、元组tuple和dict类型
- ElementUI中的el-table怎样实现绑定对象数组时每一列不同控件的动态数据绑定
- cv2 python3.5 linux,ubuntu 16.04 安装 opencv3.2.0 with python 3.5
- [项目过程中所遇到的各种问题记录]编辑器篇——FCKeditor自定义上传路径配置...
- python数值计算库Numpy学习之—np.linalg.norm(求范数)
- python selenium page object_Selenium Page Object 自动化测试框架-Page Object设计
- 边框虚线html代码是,网页虚线代码/表格边框虚线代码大全
- 2018年第九届蓝桥杯真题Java B组
- DELL_R820服务器安装 server2008 R2x64缺少所需的CDDVD驱动器设备驱动解决方法
- NoSQL:文档数据库
- 加了尾注怎么添加新页_如何在毕业论文利用尾注添加参考文献之后再续正文
- Cypress使用教程
- 完全免费的小程序制作教程
- Python书籍阅读与记录 6.17 I 文件和异常
- PMP考试报名中项目经验该怎样填写?
- 油猴相关玩法-下载,脚本下载
- 卷积与反卷积(转置卷积)关系的公式推导 及其各自的形式
- 实战为上!深入解析20个运维命令
热门文章
- CFile和CStdioFile的区别以及‘\r’、‘\r\n’
- jsp基础语法【05】_跳转指令
- ThinkPad系列笔记本待机恢复后,双击我的电脑始终运行而无法打开
- 2009年北京突然的一场雪
- C# Tips 2------ToolStripSplitButton's 'Checked' property
- [转载]安装Oracle11gR2先决条件检查失败的详细解决处理过程
- 《金蝶ERP—K/3标准财务模拟实训(11.X版)》——第1章 金蝶K/3标准财务介绍 1.1 金蝶K/3标准财务系统介绍...
- jQuery 3教程(三):jQuery集合
- [资料]Keychain 获取设备唯一
- qt关于添加模块的说明