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

简介: 关于‘文件存储格式’和‘文件内容格式’需要掰一掰的那点儿事儿太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商业用途-保持一致”创作公用协议转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

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

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

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

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


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

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

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

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

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

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

。。。

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

主体:

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

第一载体:

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

第二截体:

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


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

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


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

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

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


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


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


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


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

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

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


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


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


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


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



目录
相关文章
|
4月前
|
存储 分布式计算 Hadoop
[hadoop3.x系列]Hadoop常用文件存储格式及BigData File Viewer工具的使用(三)
[hadoop3.x系列]Hadoop常用文件存储格式及BigData File Viewer工具的使用(三)
56 2
|
4月前
|
存储 大数据 Java
【云计算与大数据技术】文件存储格式行式、列式、GFS、HDFS的讲解(图文解释 超详细)
【云计算与大数据技术】文件存储格式行式、列式、GFS、HDFS的讲解(图文解释 超详细)
89 0
|
9月前
|
SQL 存储 数据可视化
Hive 支持的文件存储格式(重点)
Hive 支持的文件存储格式(重点)
304 0
|
存储 SQL 文件存储
Hive主流文件存储格式对比
### Hive 主流文件存储格式对比 ### 1、存储文件的压缩比测试 ##### 1.1 测试数据
156 0
|
固态存储 测试技术 Linux
文件IO操作开发笔记(二):使用Cpp的ofstream对磁盘文件存储进行性能测试以及测试工具
在做到个别项目对日志要求较高,要求并行写入的数据较多,尽管写入数据的线程放在子线程,仍然会造成界面程序的假死(实际上Qt还是在跑,只是磁盘消耗超过瓶颈,造成假死(注意:控制台还能看到打印输出,linux则能看到打印输出)。 本篇升级了测试工具,并且测试了ofstream在USB3.0和M.2SSD上的写入性能。
文件IO操作开发笔记(二):使用Cpp的ofstream对磁盘文件存储进行性能测试以及测试工具
|
固态存储 测试技术 Linux
文件IO操作开发笔记(一):使用Qt的QFile对磁盘文件存储进行性能测试以及测试工具
在做到个别项目对日志要求较高,要求并行写入的数据较多,尽管写入数据的线程放在子线程,仍然会造成界面程序的假死(实际上Qt还是在跑,只是磁盘消耗超过瓶颈,造成假死(注意:控制台还能看到打印输出,linux则能看到打印输出)。   本篇开发了测试工具,并且测试了QFile在USB3.0和M.2SSD上的写入性能。
文件IO操作开发笔记(一):使用Qt的QFile对磁盘文件存储进行性能测试以及测试工具
|
分布式计算 Hadoop Linux
Linux系统下pid与pid文件及Hadoop更改pid文件存储位置
今天来讲Linux系统下pid与pid文件及Hadoop更改pid文件存储位置
378 0
|
文件存储 iOS开发
iOS WKWebView将文件存储到手机文件中
iOS WKWebView将文件存储到手机文件中
640 0
|
存储 SQL Apache
Hive中文件存储格式及大小比较测试
file_format: : SEQUENCEFILE | TEXTFILE -- (Default, depending on hive.default.fileformat configuration) | RCFILE -- (Note: Available in Hive 0.
5045 0