关于‘文件存储格式’和‘文件内容格式’需要掰一掰的那点儿事儿

2024-01-08 20:48

本文主要是介绍关于‘文件存储格式’和‘文件内容格式’需要掰一掰的那点儿事儿,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于‘文件存储格式’和‘文件内容格式’需要掰一掰的那点儿事儿

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。


先来说个例子,来引用题中的问题,后面会尽可能列出大把的实际存在的关于这俩家伙的事儿,以供参考。

当我们录了一段语音并存成 .wav 文件后,就可以用播放器打开播放出所录到的声音了。

这里抛开细节,我们看与生活贴近的部分:

你说话的声音 ---> 传到我耳杂里:这表明,我听到你说的话了;

你说话的声音 ---> 电话话筒接收到了 ---> 通过电话系统传输到 ---> 另一端的听筒把你的声音播放出来了 ---> 我听到你说的话了;

你说话的声音 ---> 录音机麦克接收到 ---> 存储到磁带上(磁带还有人知道是啥不?!)--->磁带拿给我用录音机播放 ---> 我听到你说的话了;

。。。

还有很多种方式,我能听到你说话的声音,仅以上面三个为例,其中涉及到一个主体和两个载体:

主体:

声音,包括你说话发出的声音,也即空气振动;还有我听到的声音,也是空气振动;

第一载体:

你说出来的把空气振动起来,我听到是,振动的空气传入我的耳杂,起始两处无可厚非,差别在于,如何延伸这个空气的振动,或者说能让这个振动被记录下来,在需要的时侯,再原样振起来。

第二截体:

完全针对空气振动的一种记录承载。


回归正题,空气振动产生声波,声波通过定时采样声振强度值这个模拟量,再用数值来表示,就是这一时刻的声音;当连续的采样按采样频率原样再展现出来,也即挠动空气也达到同样的指标,人们的耳杂就能从这些间断的声振中恢复出内容来,越密,越和原声音相仿。

这些间断的数值存储到一个文件中,以便能长期存储,并且文件头描述着这些声音采样的一些信息。


这段中涉及到两个内容:声音是如何采样并量化的,这是一个原始的数据,而另一个是这些数据存储到磁盘文件,所带的文件头描述信息。

原始的声音数据这样存在文件中会很大,所以出现了很多对声音进行编码的算法,按这样的算法对声音处理之后,声音所占空间很小了,按同一算法的逆运算恢复出来的原始声音数据同样能听出原声音的内容,只不过这个过程,会有声音细节的损失。

而同样的声音数据,无论是原始的,还是经过一定算法处理后的声音数据,可以按特定的文件存储格式要求写到文件中。


实在写不下去啦,墨迹了半天,就那点儿事儿,可是还是感觉细节描述不出来。。。


那么再看看文本中存储的内容,也包括两方面:一是文本的编码,如果就一种的话,就不会出现打开文件有乱码的情况了;二是文本的存储格式,是txt还是word,又或者 pdf,就那几个字,存成的文件类型确可以不一样,而文字编码也可以不一样。


再有视频、图片等等,这些都和人的感观相联系着,或者未来还会出现振动或触觉的采样与存储,或者嗅觉?!。。。


用个生动的生活例子再比较一下:

买了一块水豆腐,放在一个磁盘儿里,放到一个碗里,或者直接放锅里?!。。。都行

而这块豆腐,是整块放,还是切四掰儿再放,又或者冻完再化了放,化了切成小块儿再放?!。。。都行


豆腐是文本、语音、图片、视频;容器就是存储格式。


好了,再掰下去,我自已可能就该不明白了,毕竟,我们接触这些事物是从感性到理论,而不是像我们从初中开始学英语,到大学毕业,一直都是先理性后感性,又或者到头来一直没感性起来,见外国人,不知说啥,可是考试打个百八十分都很轻松。


以上闲来扯淡,下面有空儿再补一补各种文字、音频、图像、视频。。。所常用的格式及对应的识别。


这些是从 speex 和 ogg 联想到的,希望有人会知道这两个东西是什么,期待着视频领域的 speex 和 ogg  !@



这篇关于关于‘文件存储格式’和‘文件内容格式’需要掰一掰的那点儿事儿的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/584778

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

分辨率三兄弟LPI、DPI 和 PPI有什么区别? 搞清分辨率的那些事儿

《分辨率三兄弟LPI、DPI和PPI有什么区别?搞清分辨率的那些事儿》分辨率这个东西,真的是让人又爱又恨,为了搞清楚它,我可是翻阅了不少资料,最后发现“小7的背包”的解释最让我茅塞顿开,于是,我... 在谈到分辨率时,我们经常会遇到三个相似的缩写:PPI、DPI 和 LPI。虽然它们看起来差不多,但实际应用

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

python dict转换成json格式的实现

《pythondict转换成json格式的实现》本文主要介绍了pythondict转换成json格式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 一开始你变成字典格式data = [ { 'a' : 1, 'b' : 2, 'c编程' : 3,

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点